网络编程
位置:首页>> 网络编程>> php编程>> PHP之使用swoole统计在线人数和ID案例讲解

PHP之使用swoole统计在线人数和ID案例讲解

作者:我是高手高手高高手  发布时间:2023-06-21 21:12:57 

标签:php,swoole

$server->connections

//server−>connections遍历所有websocket连接用户的fd,给所有用户推送统计人数:count(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} closed\n";
});

出现错误:PHP Fatal error: Uncaught Swoole\Exception: failed to listen server port[0.0.0.0:9502], Error: Address already in use

PHP之使用swoole统计在线人数和ID案例讲解

这是因为swoole调试由于开启了进程守护,导至报错
关掉进行就,在重新启动就不会了
1 查看我的 swoole 监听端口号 9502

//查看端口
netstat -anp  | grep  9502
//关掉守护
kill -9 174739

PHP之使用swoole统计在线人数和ID案例讲解

再重启服务

参考:

https://wenda.swoole.com/detail/106719
http://www.51zuso.com/admin/p/710.html

来源:https://blog.csdn.net/haibo0668/article/details/118193894

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com