php框架使用统计_workerman怎样统计在线人数_PHP开发框架教程,workerman

47de76ee3fd9a1a48954841821e35044.png

workerman统计在线人数完成代码:(引荐:workerman教程)

服务器端代码

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。

客户端代码

?>

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);

};

以上就是workerman怎样统计在线人数的细致内容,更多请关注ki4网别的相干文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值