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

吾爱主题 阅读:153 2021-11-23 15:54:00 评论:0
?
1 $server ->connections

// s e r v e r − > c o n n e c t i o n s 遍 历 所 有 w e b s o c k e t 连 接 用 户 的 f d , 给 所 有 用 户 推 送 统 计 人 数 : c o u n t ( server->connections 遍历所有websocket连接用户的fd,给所有用户推送 统计人数:count( server−>connections遍历所有websocket连接用户的fd,给所有用户推送统计人数:count(server->connections)
例子:
在开启或关闭时统计在线人数
开启

?
1 2 3 4 5 $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" ; });

关闭

?
1 2 3 4 5 $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

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

?
1 2 3 4 // 查看端口 netstat -anp  | grep  9502 // 关掉守护 kill -9 174739

再重启服务

参考:

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

到此这篇关于PHP之使用swoole统计在线人数和ID案例讲解的文章就介绍到这了,更多相关PHP之使用swoole统计在线人数和ID内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/haibo0668/article/details/118193894

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容