php swoole 统计在线人数和ID
原创
©著作权归作者所有:来自51CTO博客作者Q神的原创作品,请联系作者获取转载授权,否则将追究法律责任
// server->connections)
例子:
在开启或关闭时统计在线人数
开启
$server->on('open', function (Swoole\WebSocket\Server $server, $request) {
$arr = array('action'=>'count','num'=>count($server->connections));
$jsonTo = json_encode($arr);
echo "在线人数:{$jsonTo};server: handshake success with fd={$request->fd}\n";
});
关闭
$server->on('close', function ($ser, $fd) {
$arr = array('action'=>'count','num'=>count($server->connections));
$jsonTo = json_encode($arr);
echo "在线人数:{$jsonTo};client {$fd};
});
出现错误:PHP Fatal error: Uncaught Swoole\Exception: failed to listen server port[0.0.0.0:9502], Error: Address already in use
这是因为swoole调试由于开启了进程守护,导至报错
关掉进行就,在重新启动就不会了
1 查看我的 swoole 监听端口号 9502
//查看端口
netstat -anp | grep 9502
//关掉守护
kill -9 174739
再重启服务
参考:
https://wenda.swoole.com/detail/106719 http://www.51zuso.com/admin/p/710.html