'businessWorker' => [
'eventHandler' => 'app\controller\Events'
],
然后在Events中 源代码是这样写的,结合workman的自定义文档 请问这里怎么调用自定义协议代码
public static function onMessage($client_id, $data)
{
}
此处是文档中的方法,但是结合我现有代码无法引入进来,谢谢
$json_worker = new Worker('JsonNL://0.0.0.0:1234');
$json_worker->onMessage = function(TcpConnection $connection, $data) {
// $data就是客户端传来的数据,数据已经经过JsonNL::decode处理过
echo $data;
// $connection->send的数据会自动调用JsonNL::encode方法打包,然后发往客户端
$connection->send(array('code'=>0, 'msg'=>'ok'));
};
给你的composer.json 里的autoload.files 选项里加上你的协议类的加载路径。类似这种
然后执行
composer dumpautoload
如果实在不会就手动require文件吧。
tp6可以直接放到 extend目录并设置好namespace,然后项目任何地方都可以直接new了。
使用composer require workerman/gateway-worker 安装Linux版本的gateway
创建一个自定义协议类
再创建启动服务的文件Run.php
发送消息处理Events.php
最后再根目录创建gateway.php启动方便启动
根目录cmd执行:php gateway.php start启动服务
代码对齐有点乱 , 将就着看吧