PHP之使用swoole统计在线人数和ID案例讲解
$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)
例子:
在开启或关闭时统计在线人数
开启
$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
这是因为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
到此这篇关于PHP之使用swoole统计在线人数和ID案例讲解的文章就介绍到这了,更多相关PHP之使用swoole统计在线人数和ID内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:- php使用Session和文件统计在线人数
- php使用Session和文件统计在线人数
- 也谈php网站在线人数统计
- 使用Application和SessionID实现在线用户列表统计
- 监听器案例----统计在线人数
- 在Global.asax中使用定时器来统计在线人数和每天每月的访问量
- 关于jsp内置对象Session和Cookie使用的肤浅理解,如何使用Session来统计网站在线人数
- 关于jsp内置对象Session和Cookie使用的肤浅理解,如何使用Session来统计网站在线人数
- Listener--HttpSessionBindingListenerAPI及使用(在线人数统计)详解
- session监听器(可用于统计在线人数,了解系统当前的使用客户)
- session监听器(可用于统计在线人数,了解系统当前的使用客户 ...
- 使用ASP.NET的Application对象实现在线人数统计的功能
- PHP统计当前在线用户数实例讲解
- 使用HttpSessionListener接口监听Session的创建和失效(可以用于统计在线人数)
- JavaWeb监听器介绍及统计在线人数案例
- ASP.NET MVC使用SignalR统计在线用户人数
- PHP统计在线人数
- 使用监听器实现一个统计网站在线人数的示例
- PHP简单统计在线人数
- php统计在线人数