Gateway::getAllClientSessions
说明:
php
array Gateway::getAllClientSessions(void);
获取当前所有在线 client_id 信息。
返回值
返回值为 client_id 为 key,client_id 对应的 $_SESSION 为值的数组。 类似下面的格式
php
array(
'7f00000108fc00000008' => array(...),
'7f00000108fc00000009' => array(...),
)
注意:如果是客户端断网断电等极端情况掉线,客户端的 onClose 回调可能无法及时触发,参见 onClose 说明。也就是说对应客户端出现断网断电等极端掉线情况返回值中可能包含了异常掉线的 client_id 数据。这种情况需要心跳来检测已经掉线的客户端。
更新日志
版本 | 说明 |
---|---|
2.0.6 | 接口名为 getALLClientInfo |
2.0.7 | 接口 getALLClientInfo 更名为 getAllClientSessions |
范例
php
use \GatewayWorker\Lib\Gateway;
class Events
{
...
public onMessage($client_id, $message)
{
$_SESSION['name'] = $message['name'];
var_export(Gateway::getAllClientSessions());
}
...
}
打印出的数据类似如下:
php
array(
'7f00000108fc00000008' => array('name'=>'Tom'),
'7f00000108fc00000009' => array('name'=>'Joan'),
)