基于workerman实现统计在线人数的方法和代码是什么
Admin 2022-07-23 群英技术资讯 278 次浏览
workerman统计在线人数实现代码:
服务器端代码
<?php use Workerman\Worker; use Workerman\Lib\Timer; require_once __DIR__ . '/Workerman/Autoloader.php'; $worker = new Worker('websocket://127.0.0.1:2345'); // 全局变量,保存当前进程的客户端连接数 $connection_count = 0; // 这个例子中进程数必须为1 $worker->count = 1; $worker->onConnect = function($connection) { // 有新的客户端连接时,连接数+1 global $connection_count; ++$connection_count; echo "now connection_count=$connection_count\n"; }; // 进程启动时设置一个定时器,定时向所有客户端连接发送数据 $worker->onWorkerStart = function($worker) { // 定时,每10秒一次 Timer::add(1, function()use($worker) { global $connection_count; // 遍历当前进程所有的客户端连接,发送当前服务器的时间 foreach($worker->connections as $connection) { $connection->send($connection_count); } }); }; $worker->onClose = function($connection) { // 客户端关闭时,连接数-1 global $connection_count; $connection_count--; echo "now connection_count=$connection_count\n"; }; // 运行worker Worker::runAll();
当客户端与Workerman建立连接时(TCP三次握手完成后)触发的回调函数。每个连接只会触发一次onConnect回调。
当客户端连接与Workerman断开时触发的回调函数。不管连接是如何断开的,只要断开就会触发onClose。每个连接只会触发一次onClose。
客户端代码
<?php ?> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> <script> function ds(){ $.get('127.0.0.1:2345',function(data,status){ console.log("Data: " + data + "nStatus: " + status); }) } // window.setInterval(ds,1000); ws = new WebSocket("ws://127.0.0.1:2345"); ws.onopen = function() { //alert("连接成功"); //ws.send('tom'); //alert("给服务端发送一个字符串:tom"); }; ws.onmessage = function(e) { //alert("收到服务端的消息:" + e.data); console.log("收到服务端的消息:" + e.data); }; </script>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Laravel中的where高级使用方法是什么?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
for(PHP4,PHP5)for 循环是PHP中最复杂的循环结构。它的行为和C语言的相似。 for 循环的语法是:for(expr1;expr2;expr3)statement 第一个...
php变量中的两种复合类型:1、数组(array),数组可以存储多个数据,可以是任何类型。2、对象(object),对象是一种比数组更先进的复合数据类型。
这篇文章主要为大家详细介绍了PHP如何实现导入大量CSV数据功能,文中的示例代码讲解详细,对我们学习PHP有一定帮助,需要的可以参考一下
想要入门PHP,首先要学会搭建环境,其次是学习基础语法。PHP的基础包括数据类型,运算符,变量和常量等。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008