$socket->on('login', function ($uid)use($socket){
global $uidConnectionMap;
global $db;
$uid1 = explode(',',$uid);
$db = new \Workerman\MySQL\Connection('127.0.0.1', '3306', 'root', 'root', 'luck28');
// 已經(jīng)登錄過(guò)了
if(isset($socket->uid)){
return;
}
// 更新對(duì)應(yīng)uid的在線數(shù)據(jù)
$uid = (string)$uid;
if(!isset($uidConnectionMap))
{
$uidConnectionMap = 0;
}
// 這個(gè)uid有++$uidConnectionMap個(gè)socket連接
++$uidConnectionMap;
// 將這個(gè)連接加入到uid分組,方便針對(duì)uid推送數(shù)據(jù)
$socket->join($uid1);
$socket->uid = $uid;
// 更新這個(gè)socket對(duì)應(yīng)頁(yè)面的在線數(shù)據(jù)
$socket->to($uid)->emit('update_online_count',$uidConnectionMap);
});
請(qǐng)問(wèn)怎么獲取uid1房間的人數(shù)?uidConnectionMap獲取的是全局的人數(shù)。
count($sender_io->nsps['/']->adapter->rooms[$uid1])
$socket->on('disconnect', function () use($socket) {
if(!isset($socket->uid))
{
return;
}
global $uidConnectionMap, $sender_io;
if(--$uidConnectionMap[$socket->uid] <= 0)
{
unset($uidConnectionMap[$socket->uid]);
}
});
請(qǐng)問(wèn)加入房間的uid可以通過(guò)這個(gè)方法刪除么?