webman里安裝好了gatewayworker,只有一個websock實例,想在加tcp實例怎么做
config/plugin/webman/gateway-worker/process.php
<?php
use Webman\GatewayWorker\Gateway;
use Webman\GatewayWorker\BusinessWorker;
use Webman\GatewayWorker\Register;
return [
'gateway' => [
'handler' => Gateway::class,
'listen' => 'websocket://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(){},
]]
],
'gateway-tcp' => [
'handler' => Gateway::class,
'listen' => 'tcp://0.0.0.0:7373', // 注意這里端口改成其它值
'count' => cpu_count(),
'reloadable' => false,
'constructor' => ['config' => [
'lanIp' => '127.0.0.1',
'startPort' => 3300, // 注意這里端口改成其它值,步數(shù)大大一些,不能和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://0.0.0.0:1236',
'count' => 1, // Must be 1
'constructor' => []
],
];
'worker' => [
'handler' => BusinessWorker::class,
'count' => cpu_count()*2,
'constructor' => ['config' => [
'eventHandler' => plugin\webman\gateway\Events::class,
'name' => 'ChatBusinessWorker',
'registerAddress' => '127.0.0.1:1236',
]]
],
這個是不是也要添加一個,單獨用一個Events類吧?
我想用tcp連接硬件,websock把接收到硬件信息轉(zhuǎn)發(fā)到網(wǎng)頁。這樣是不是events業(yè)務(wù)用兩個分著寫?
那就是一套系統(tǒng),兩個gateway端口支持多協(xié)議,worker 和 register不用新增。業(yè)務(wù)寫在同一個events.php里。