国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

Gatewayworker動態(tài)開啟多個子進程需求

yuanxin

請問GatewayWorker如何動態(tài)創(chuàng)建子線程處理大廳下各游戲不同請求
比如玩家進入大廳下游戲A 連接GatewayWorker websocket A 處理
玩家進入大廳下游戲B 連接GatewayWorker websocket B 處理

目前只會全部放在events.php里面中的onMessage處理

5265 3 1
3個回答

walkor 打賞

GatewayWorker 和 Workerman都是多進程單線程的,沒有多線程。

因為開發(fā)者大多沒有多進程開發(fā)經(jīng)驗,不會控制進程數(shù)、不會回收進程、不懂進程間通訊。
一般也不需要動態(tài)創(chuàng)建進程,需要哪些進程組,每組多少進程提前設(shè)置好最安全。
GatewayWorker 和 Workerman都不支持動態(tài)創(chuàng)建進程。

  • 暫無評論
yuanxin

謝謝回復
我在主進程的onWorkerStart創(chuàng)建子進程
$new_worker = new \GatewayWorker\BusinessWorker('Websocket://192.168.10.220:5678');
來專門處理登錄請求
$new_worker2 = new \GatewayWorker\BusinessWorker('Websocket://192.168.10.220:5688');
處理游戲大廳請求
能連接上, 但是不能調(diào)用Gateway::sendToAll('hi')或者Gateway::sendToCurrentClient( 'test' );
只有主進程能調(diào)用Gateway發(fā)送信息嗎, 內(nèi)部子進程的連接可以嗎

  • 暫無評論
walkor 打賞

再強調(diào)一遍,workerman和GatewayWorker不支持動態(tài)創(chuàng)建進程。

你這個代碼不是創(chuàng)建子進程,只不過是在businessWorker進程啟動后建立了兩個websocket監(jiān)聽,實際上并沒有創(chuàng)建新的進程。并且這兩個監(jiān)聽沒有什么作用,因為businessWorker只和Gateway通訊,不會和客戶端通訊,即使客戶端連上這兩個端口也無法正常通訊。更不要說Gateway::sendToAll給客戶端發(fā)消息

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??