您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
workerman回调onMessage
发布时间:2021-12-02 22:46:00编辑:雪饮阅读()
onMessage
说明:
callback Worker::$onMessage
当客户端通过连接发来数据时(Workerman收到数据时)触发的回调函数
回调函数的参数
$connection
连接对象,即TcpConnection实例,用于操作客户端连接,如发送数据,关闭连接等
$data
客户端连接上发来的数据,如果Worker指定了协议,则$data是对应协议decode(解码)了的数据。
数据类型与协议decode()实现有关,websocket text frame 为字符串,HTTP协议为 Workerman\Protocols\Http\Request对象。
实例:
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onMessage = function(TcpConnection $connection, $data)
{
var_dump($data);
$connection->send('receive success');
};
// 运行worker
Worker::runAll();
?>
实例运行并有websocket连接时;
root@izj6c2jeancylo0ppo4vz5z workerman]# php test.php start
Workerman[test.php] start in DEBUG mode
------------------------------------------- WORKERMAN --------------------------------------------
Workerman version:4.0.22 PHP version:7.0.33
-------------------------------------------- WORKERS ---------------------------------------------
proto user worker listen processes status
tcp root none websocket://0.0.0.0:8484 1 [OK]
--------------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
string(5) "hello"
关键字词:workerman,回调,onMessage
相关文章
- workerman回调onWorkerReload
- workerman回调onWorkerStart
- workerman接口listen接合reusePort实现端口复用多实例
- workerman接口runAll运行多个不同woker实例(不同协议)
- workerman接口stopAll及多线程请求测试
- workerman利用Timer库的persistent属性实现仅定时执行
- workerman利用daemonize属性实现代码层控制进程启动方
- workerman利用reloadable属性实现新增业务代码载入并
- workerman属性stdoutFile(输出重定向)及daemonize实现脚
- workerman利用属性user实现指定用户运行进程