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