webman 中gateway-worker插件·怎么使用自定义协议

kspade

webman项目 安装了 gateway插件:

composer require webman/gateway-worker

然后在:/config/plugin/webman/gateway-worker 下面就有了配置文件

return [
'gateway' => [
'handler'     => Gateway::class,
'listen'      => 'tcp://0.0.0.0:9888',
'count'       => 1,
'reloadable'  => false,
'constructor' => ['config' => [
'lanIp'           => '127.0.0.1',
'startPort'       => 2300,
'pingInterval'    => 25,
'pingData'        => '{"type":"ping"}',
'registerAddress' => '127.0.0.1:1236',
'onConnect'       => function(){},
]]
],
'worker' => [
'handler'     => BusinessWorker::class,
'count'       => 1,
'constructor' => ['config' => [
'eventHandler'    => plugin\webman\gateway\Events::class,
'name'            => 'ChatBusinessWorker',
'registerAddress' => '127.0.0.1:1236',
]]
],
'register' => [
'handler'     => Register::class,
'listen'      => 'text://0.0.0.0:1236',
'count'       => 1, // Must be 1
'constructor' => []
],
];

我试图按照 work的文档 把
在项目:app\Protocols\JsonNL.php 自定义协议
然后:
'listen' => 'tcp://0.0.0.0:9888',
改为
'listen' => 'JsonNL://0.0.0.0:9888',
直接就会报错啊

怎么使用gateway的情况下,使用自定义的通讯协议啊

1025 1 0
1个回答

walkor

改下文件位置和命名空间
app\Protocols\JsonNL.php 改成 Protocols\JsonNL.php,命名空间app/Protocols/JsonNL 改成 Protocols/JsonNL

  • hqfin 2023-07-12

    同样的问题 按你说的依然是保存

  • walkor 2023-07-12

    那你应该还是哪里没弄对, 不会弄的话就手动require进去

  • hqfin 2023-07-12

    手动require 放在什么位置呢?

  • walkor 2023-07-12

    比如配置文件里

年代过于久远,无法发表回答
🔝