webman使用gateway-worke, 协议为frame时,启动报错。

recode

问题描述

webman 使用 gateway-worke, 协议改为frame时,启动就报错。是什么原因呢?如果协议是text不会报错。

程序代码

use Webman\GatewayWorker\Register;

return [
    'gateway' => [
        'handler'     => Gateway::class,
        'listen'      => 'tcp://0.0.0.0:7272',
        'count'       => cpu_count(),
        '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'       => cpu_count()*2,
        'constructor' => ['config' => [
            'eventHandler'    => plugin\webman\gateway\Events::class,
            'name'            => 'ChatBusinessWorker',
            'registerAddress' => '127.0.0.1:1236',
        ]]
    ],
    'register' => [
        'handler'     => Register::class,
        'listen'      => 'text://127.0.0.1:1236',
        'count'       => 1, // Must be 1
        'reloadable'  => false,
        'constructor' => []
    ],
];

报错信息

RuntimeException: Protocol Workerman\Protocols\Frame Error package. package_length=2065851766 in /home/recode/文档/code/webman/vendor/workerman/workerman/src/Connection/TcpConnection.php:717
Stack trace:
#0 /home/recode/文档/code/webman/vendor/workerman/workerman/src/Events/Select.php(408): Workerman\Connection\TcpConnection->baseRead()
#1 /home/recode/文档/code/webman/vendor/workerman/workerman/src/Worker.php(1740): Workerman\Events\Select->run()
#2 /home/recode/文档/code/webman/vendor/workerman/workerman/src/Worker.php(1545): Workerman\Worker::forkOneWorkerForLinux()
#3 /home/recode/文档/code/webman/vendor/workerman/workerman/src/Worker.php(1525): Workerman\Worker::forkWorkersForLinux()
#4 /home/recode/文档/code/webman/vendor/workerman/workerman/src/Worker.php(593): Workerman\Worker::forkWorkers()
#5 /home/recode/文档/code/webman/vendor/workerman/webman-framework/src/support/App.php(147): Workerman\Worker::runAll()
#6 /home/recode/文档/code/webman/start.php(5): support\App::run()

截图报错信息里报错文件相关代码



操作系统及workerman/webman等框架组件具体版本

Ubuntu 24.04.2 LTS
Webman-framework v2.1.2

121 1 0
1个回答

recode

已解决。搞错设置了。

  • 暂无评论
×
🔝