首页 » Web前端 » phpworker类技巧_workerman入门到运用

phpworker类技巧_workerman入门到运用

访客 2024-12-07 0

扫一扫用手机浏览

文章目录 [+]

workerman的可以开启多个worker进程,主进程用于管理开启的worker进程。
每个worker进程可以与客户端独立通信。

workerman是常驻内存的。

phpworker类技巧_workerman入门到运用

workerman的安装

Composer安装:

phpworker类技巧_workerman入门到运用
(图片来自网络侵删)

composer require workerman/workerman

Linux系统可以利用以下脚本测试本机PHP环境是否知足WorkerMan运行哀求。

curl -Ss https://www.workerman.net/check | php

workerman的项目构造

Connection:存放关于连接干系的类,有tpc和udp类

Event:存放事宜干系的类

Lib:存放的是工具干系的类,例如定时器类

Protocols:存放协议干系的类,例如ws协议

worker.php:worker进程类

workerman的启动与停滞

启动

php start.php start

以守护进程(daemon)办法启动

php start.php start -d

停滞

php start.php stop

重启

php start.php restart

平滑重启

php start.php reload

查看状态

php start.php status

查看连接状态

php start.php connections

workerman通讯协议

WorkerMan目前已经支持HTTP、websocket、text协议、frame协议,ws协议,利用方法是在初始化Worker对向时指定协议。

例如:

$websocket_worker = new Worker('websocket://0.0.0.0:2345');

Work类

work类用于设置监听端口、事宜处理和进程数等的紧张类。

紧张属性

count:设置当前Worker实例启动多少个进程

connections:存储了当提高程的所有的客户端连接工具。

回调属性:

onConnect:建立连接时

onMessage:收到数据时

onClose:断开时

onError:缺点时

Connection类

每个客户端连接对应一个Connection工具

常用属性

id:连接的id,可以重新赋值

回调属性

onMessage:当前连接收到时

onClose:当前连接关闭时

onError:当前连接缺点时

方法

send:向客户端发送数据

close:关闭连接

Timer定时器类

方法:

add:创建新的定时器

del:删除定时器

心跳

心跳的目的时保持客户端与做事器真个连接,永劫光没有通信回断开连接。

断线重连只能客户端做。

workerman大略的例子

<?php

use Workerman\Worker;

use Workerman\Connection\TcpConnection;

require_once __DIR__ . '/vendor/autoload.php';

// 把稳:这里与上个例子不同,利用的是websocket协议

$ws_worker = new Worker("websocket://0.0.0.0:2000");

// 启动4个进程对外供应做事

$ws_worker->count = 4;

// 当收到客户端发来的数据后返回hello $data给客户端

$ws_worker->onMessage = function(TcpConnection $connection, $data)

{

// 向客户端发送hello $data

$connection->send('hello ' . $data);

};

// 运行worker

Worker::runAll();

相关文章

php文本块技巧_2313强大的文本编辑器

该编辑器是编辑HTML、PHP、JSP和XML文件的空想工具。当您将Web浏览器指定为外部运用程序时,您将能够在编辑过程中查看HT...

Web前端 2024-12-09 阅读0 评论0