Windows下安装使用workman简单实例

Posted cuizhenyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows下安装使用workman简单实例相关的知识,希望对你有一定的参考价值。

转自:https://blog.csdn.net/Srodong/article/details/88351335

首先下载workerman  https://www.workerman.net/download

技术图片

 

 

下载好workerman,后在workerman文件下创建一个新的文件start.php

技术图片

 

 代码如下:

技术图片
<?php
use WorkermanWorker;
 
//Autoloader.php路径
require_once "./Autoloader.php";
 
$global_uid = 0;
 
// 当客户端连上来时分配uid,并保存连接,并通知所有客户端
function handle_connection($connection)
{
    global $text_worker, $global_uid;
    // 为这个连接分配一个uid
    $connection->uid = ++$global_uid;
}
 
// 当客户端发送消息过来时,转发给所有人
function handle_message($connection, $data)
{
    global $text_worker;
    foreach($text_worker->connections as $conn)
    {
        $conn->send("user[{$connection->uid}] said: $data");
    }
}
 
// 当客户端断开时,广播给所有客户端
function handle_close($connection)
{
    global $text_worker;
    foreach($text_worker->connections as $conn)
    {
        $conn->send("user[{$connection->uid}] logout");
    }
}
 
// 创建一个文本协议的Worker监听2000接口  用0.0.0.0方便链接内网外网
$text_worker = new Worker("websocket://0.0.0.0:2000");  
 
// 只启动1个进程,这样方便客户端之间传输数据
$text_worker->count = 1;
 
$text_worker->onConnect = handle_connection;
$text_worker->onMessage = handle_message;
$text_worker->onClose = handle_close;
 
Worker::runAll();
View Code

然后cmd运行start.php

技术图片

 

 简单测打开浏览器,按F12打开调试控制台,在Console一栏输入(或者把下面代码放入到html页面用js运行

技术图片
// 假设服务端ip为127.0.0.1
ws = new WebSocket("ws://127.0.0.1:2000");
ws.onopen = function() {
    alert("连接成功");
    ws.send(我是谁?);
    alert("给服务端发送一个字符串:我是谁?");
};
ws.onmessage = function(e) {
    alert("收到服务端的消息:" + e.data);
};
View Code

 

 

______________________

以上是关于Windows下安装使用workman简单实例的主要内容,如果未能解决你的问题,请参考以下文章

workman初次接触,可以正常运行在Windows站点下.

workman源代码阅读 - 使用信号处理器实现定时器

windows下使用RedisCluster集群简单实例

编译安装最新版PHP,支持apache24,支持workman

workman项目设置开机自启动

Oracle 11G单实例安装