我用的是win版本的,我現(xiàn)在要使用幾個(gè)協(xié)議,tcp從硬件底層傳輸、websocket用于監(jiān)控查看tcp傳輸來(lái)的數(shù)據(jù),http用于服務(wù)器后臺(tái)的設(shè)置以及指令下發(fā)到tcp硬件底層。現(xiàn)在我新建了三個(gè)入口文件,使用bat啟動(dòng),我想實(shí)現(xiàn)從tcp傳輸上來(lái)的數(shù)據(jù),在websocket、http端都能接收到,或者h(yuǎn)ttp下發(fā)指令,tcp和websocket端都能收到,改怎么實(shí)現(xiàn)?
多協(xié)議通信最好用GatewayWorker。
GatewayWorker多協(xié)議參見(jiàn)手冊(cè)
http://workerman.net/gatewaydoc/advanced/multi-protocols.html
如果用Worker做,可以新建一個(gè)代理進(jìn)程proxy worker,然后tcp worker 、websocket worker、http worker在onWorkerStart時(shí)去連proxy worker,tcp worker 、websocket worker、http worker通過(guò)這個(gè)proxy worker轉(zhuǎn)發(fā)數(shù)據(jù),完成通訊。
這里有個(gè)Channel組件專門(mén)用來(lái)做進(jìn)程間(服務(wù)器間)通訊的,基于訂閱的,可以研究下直接使用。
https://github.com/walkor/Channel