hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - PHP框架 - Workerman - 正文 请牢记本站网址www.sosophp.cn

workerman怎样统计在线人数【workerman】,workerman

2019-12-11Workerman搜搜PHP网55°c
A+ A-

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回调。

当客户端衔接与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怎样统计在线人数的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
workerman怎样统计在线人数【workerman】,workerman

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签: