搜索
首页php框架Workermanworkerman怎么统计在线人数
workerman怎么统计在线人数Dec 10, 2019 pm 03:02 PM
workerman

workerman怎么统计在线人数

workerman统计在线人数实现代码:(推荐:workerman教程

服务器端代码

<?php
use Workerman\Worker;
use Workerman\Lib\Timer;
require_once __DIR__ . &#39;/Workerman/Autoloader.php&#39;;

$worker = new Worker(&#39;websocket://127.0.0.1:2345&#39;);
// 全局变量,保存当前进程的客户端连接数
$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(&#39;127.0.0.1:2345&#39;,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(&#39;tom&#39;);
    //alert("给服务端发送一个字符串:tom");
};
ws.onmessage = function(e) {
    //alert("收到服务端的消息:" + e.data);
    console.log("收到服务端的消息:" + e.data);
};

</script>

以上是workerman怎么统计在线人数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
workerman和swoole性能谁更好?如何选择?workerman和swoole性能谁更好?如何选择?Dec 01, 2022 am 10:00 AM

workerman 对比 swoole 实际开发项目中,你会选择哪个?对于新手学哪个较好,有什么建议吗?

如何利用Workerman实现PHP和Unity3D的跨平台游戏联机功能如何利用Workerman实现PHP和Unity3D的跨平台游戏联机功能Jul 17, 2023 am 10:21 AM

如何利用Workerman实现PHP和Unity3D的跨平台游戏联机功能随着移动游戏的兴起,跨平台游戏联机功能成为游戏开发者关注的焦点之一。PHP作为一种广泛应用于Web开发的语言,而Unity3D作为一款强大的跨平台游戏引擎,如何实现二者之间的联机功能成为了开发者们思考的问题。本文将介绍如何利用Workerman实现PHP和Unity3D的跨平台游戏联机功

如何利用PHP和Unity3D开发基于Workerman的实时多人游戏如何利用PHP和Unity3D开发基于Workerman的实时多人游戏Jul 18, 2023 am 09:54 AM

如何利用PHP和Unity3D开发基于Workerman的实时多人游戏随着游戏行业的不断发展,实时多人游戏成为了一种趋势。而PHP作为一种广泛使用的服务器端脚本语言和Unity3D作为一种流行的游戏开发引擎,如果能够结合起来开发实时多人游戏,将会带来更加丰富的玩法和用户体验。本文将详细介绍如何利用PHP和Unity3D开发基于Workerman的实时多人游戏

PHP和Unity3D如何利用Workerman实现服务器端推送功能PHP和Unity3D如何利用Workerman实现服务器端推送功能Jul 18, 2023 pm 12:01 PM

PHP和Unity3D如何利用Workerman实现服务器端推送功能在现代的网络应用中,服务器端推送功能(ServerPush)显示了它的强大威力。它可以实时地将信息推送给客户端,而无需客户端不停地向服务器发起请求。在本文中,我们将讨论如何使用PHP和Unity3D结合使用Workerman框架来实现服务器端推送功能。Workerman是一个使用纯PHP编

如何使用Workerman实现PHP和Unity3D的数据统计和分析功能如何使用Workerman实现PHP和Unity3D的数据统计和分析功能Jul 16, 2023 pm 11:43 PM

如何使用Workerman实现PHP和Unity3D的数据统计和分析功能引言:随着互联网的快速发展,数据统计和分析变得愈发重要。在PHP和Unity3D开发过程中,我们经常需要收集和分析用户的行为数据,以便进行产品改进和决策制定。本文将介绍如何使用Workerman这个高性能的PHP开发框架实现PHP和Unity3D之间的数据统计和分析功能。一、Worker

如何使用Workerman实现PHP和Unity3D的多人在线拼图游戏如何使用Workerman实现PHP和Unity3D的多人在线拼图游戏Jul 17, 2023 pm 10:55 PM

如何使用Workerman实现PHP和Unity3D的多人在线拼图游戏概述:多人在线游戏一直是游戏开发领域的一个热门话题,而拼图游戏作为一种简单、有趣的休闲游戏,也在线上游戏中广受欢迎。本文将介绍如何使用Workerman搭建服务器,并使用PHP和Unity3D开发一个简单的多人在线拼图游戏,实现实时的游戏互动。搭建服务器首先,我们需要搭建一个服务器来提供网

如何使用Workerman实现PHP和Unity3D的多人协同编辑功能如何使用Workerman实现PHP和Unity3D的多人协同编辑功能Jul 17, 2023 pm 04:03 PM

如何使用Workerman实现PHP和Unity3D的多人协同编辑功能引言:在现如今的互联网时代,多人协同编辑已经成为一个非常重要和常见的功能需求。无论是团队合作中的文档编辑,还是多人在线游戏中的场景编辑,都需要实现多人同时编辑同一个文件或场景的功能。本文将介绍如何使用Workerman框架实现PHP和Unity3D的多人协同编辑功能,并提供代码示例。一、什

PHP、Unity3D和Workerman:如何打造一个多平台的游戏开发框架PHP、Unity3D和Workerman:如何打造一个多平台的游戏开发框架Jul 17, 2023 am 09:22 AM

PHP、Unity3D和Workerman:如何打造一个多平台的游戏开发框架引言:随着移动设备的快速普及,游戏开发变得越来越重要。不同平台上的游戏开发也成为一个挑战。本文将介绍如何利用PHP、Unity3D和Workerman打造一个多平台游戏开发框架,帮助开发者更高效地开发游戏。一、为什么选择PHP、Unity3D和Workerman?在选择开发框架时,首

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),