
workerman统计在线人数实现代码:(推荐: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回调。
华友协同办公管理系统(华友OA),基于微软最新的.net 2.0平台和SQL Server数据库,集成强大的Ajax技术,采用多层分布式架构,实现统一办公平台,功能强大、价格便宜,是适用于企事业单位的通用型网络协同办公系统。 系统秉承协同办公的思想,集成即时通讯、日记管理、通知管理、邮件管理、新闻、考勤管理、短信管理、个人文件柜、日程安排、工作计划、工作日清、通讯录、公文流转、论坛、在线调查、
0
当客户端连接与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>以上就是workerman怎么统计在线人数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号