我在webman里面安裝了gatewayworker,開(kāi)了一個(gè)tcp和一個(gè)websocket,如下圖所示:
分別指向了A和B兩個(gè)文件做處理,現(xiàn)在我的問(wèn)題是:
如果我想在tcp的回調(diào)里onMessage里面去把信息通過(guò)websocket發(fā)出去,應(yīng)該怎么辦呢?或者我把websocket收到的消息通過(guò)tcp發(fā)出去,請(qǐng)問(wèn)應(yīng)該如何搞定。
暫未查找到合適的方案
直接在下面建一個(gè)gateway_tcp 其他的一樣 是不是也是可以的
'gateway_tcp' => [
'handler' => Gateway::class,
'listen' => 'tcp://0.0.0.0:9898',
'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(){},
]]
],
兩個(gè)協(xié)議的gateway進(jìn)程和worker進(jìn)程的registerAddress都填同一個(gè)注冊(cè)地址,這樣兩個(gè)協(xié)議的鏈接客戶端就可以互相發(fā)消息了,在worker進(jìn)程中可以通過(guò)端口區(qū)分消息的協(xié)議類型。
感謝幫助,但是我這里出現(xiàn)了一個(gè)小問(wèn)題,還請(qǐng)?jiān)俅螏兔σ幌?,下面是吧把gateway和worker都填同一個(gè)地址后的返回:
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0
Gateway: Worker->name conflict. Key:127.0.0.1:ChatBusinessWorker:0