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

如何才能讓所有businessworker都收到一個Server的消息并處理!?

zhouciming

一個Server連接了gatewayworker中的gate, 發(fā)了個消息,如何才能讓所有businessworker都收到這個消息并處理呢?
?
根據(jù)框架,應(yīng)該只有最初選定的worker才會收到這個消息并處理,可是我現(xiàn)在的需求是想讓所有worker都能處理,因?yàn)椴⒉磺宄畛蹩蛻舳诉B接被哪個worker處理了(我想讓那個worker關(guān)閉這個客戶端連接)!

2872 2 0
2個回答

喵了個咪

任何一個businessworker調(diào)用Gateway::closeClient($client_id) 都可以關(guān)閉對應(yīng)的連接,不用考慮之前是在哪個businessworker進(jìn)程處理的。一般來說之前連接在哪個businessworker進(jìn)程處理的,后續(xù)連接的消息啥的都是在那個businessworker進(jìn)程處理,除非你自己設(shè)定了gateway的消息路由。

phpcreeper

兩個問題:
1、gateway收到客戶端消息以后,策略是隨機(jī)選擇一個可用的worker來轉(zhuǎn)發(fā)處理的,關(guān)閉客戶端時,當(dāng)時連的是哪個worker,那就由哪個worker負(fù)責(zé)關(guān)閉,換句話,是可以區(qū)分出來的,需要自己想辦法區(qū)分,比如每個worker都有自己獨(dú)立的進(jìn)程ID。
2、框架策略是路由隨機(jī)選擇一個可用的worker, 所以直接是沒有辦法讓所有的worker都能收到消息的。

年代過于久遠(yuǎn),無法發(fā)表回答
??