我在webman里面安裝了gatewayworker,開了一個tcp和一個websocket,如下圖所示:
分別指向了A和B兩個文件做處理,現(xiàn)在我的問題是:
如果我想在tcp的回調(diào)里onMessage里面去把信息通過websocket發(fā)出去,應該怎么辦呢?或者我把websocket收到的消息通過tcp發(fā)出去,請問應該如何搞定。
暫未查找到合適的方案
直接在下面建一個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(){},
]]
],
兩個協(xié)議的gateway進程和worker進程的registerAddress都填同一個注冊地址,這樣兩個協(xié)議的鏈接客戶端就可以互相發(fā)消息了,在worker進程中可以通過端口區(qū)分消息的協(xié)議類型。
感謝幫助,但是我這里出現(xiàn)了一個小問題,還請再次幫忙一下,下面是吧把gateway和worker都填同一個地址后的返回:
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