当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-05-11 09:56:27 浏览: 评论:0 

这篇文章主要介绍了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)

例子:

在开启或关闭时统计在线人数

开启

  1. $server->on('open'function (Swoole\WebSocket\Server $server$request) { 
  2.     $arr = array('action'=>'count','num'=>count($server->connections)); 
  3.     $jsonTo = json_encode($arr); 
  4.     echo "在线人数:{$jsonTo};server: handshake success with fd={$request->fd}\n"
  5. }); 

关闭

  1. $server->on('close'function ($ser$fd) { 
  2.     $arr = array('action'=>'count','num'=>count($server->connections)); 
  3.     $jsonTo = json_encode($arr); 
  4.     echo "在线人数:{$jsonTo};client {$fd} closed\n"
  5. }); 

出现错误: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

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

 

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

再重启服务

参考:

https://wenda.swoole.com/detail/106719

http://www.51zuso.com/admin/p/710.html

Tags: swoole统计在线人数

分享到: