Gateway::getClientSessionsByGroup
說明:
array Gateway::getClientSessionsByGroup(mixed $group);
獲取某個分組所有在線client_id信息。
返回值
返回值為client_id為key,client_id對應(yīng)的$_SESSION為值的數(shù)組。
類似下面的格式
array(
'7f00000108fc00000008' => array(...),
'7f00000108fc00000009' => array(...),
)
注意:如果是客戶端斷網(wǎng)斷電等極端情況掉線,客戶端的onClose回調(diào)可能無法及時觸發(fā),參見onClose說明。也就是說對應(yīng)客戶端出現(xiàn)斷網(wǎng)斷電等極端掉線情況返回值中可能包含了異常掉線的client_id數(shù)據(jù)。這種情況需要心跳來檢測已經(jīng)掉線的客戶端。
更新日志
版本 | 說明 |
---|---|
2.0.6 | 接口名為getClientInfoByGroup |
2.0.7 | 接口getClientInfoByGroup更名為getClientSessionsByGroup |
范例
use \GatewayWorker\Lib\Gateway;
class Events
{
...
public onMessage($client_id, $message)
{
$group = 'room-1';
$_SESSION['name'] = $message['name'];
$_SESSION['sex'] = $message['sex'];
Gateway::joinGroup($client_id, $group);
var_export(Gateway::getClientSessionsByGroup($group));
}
...
}
打印出的數(shù)據(jù)類似如下:
array(
'7f00000108fc00000008' => array('name'=>'Tom', 'sex'=>1),
'7f00000108fc00000009' => array('name'=>'Joan', 'sex'=>0),
)