这篇文章主要介绍了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之使用swoole统计在线人数和ID案例讲解
基础教程推荐
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- PHP命名空间简单用法示例 2022-12-01
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- 使用PHP开发留言板功能 2023-03-13
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- php array分组,PHP中array数组的分组排序 2022-08-01
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP中的错误及其处理机制 2023-06-04