玩家在登陸時就調(diào)用Gateway::setSession設(shè)置session到指定Worker,正常登陸斷線重連設(shè)置session都是有效的,客戶端發(fā)來Message都能調(diào)用到指定的Worker->OnMessage,但是玩家長時間掛起 只發(fā)送心跳,長時間之后斷開,再登陸有一定幾率導(dǎo)致設(shè)置session之后,客戶端發(fā)來Message會被隨機分配Worker
gatewayWorker里設(shè)置session和消息分配給哪個worker處理好像沒關(guān)系。
文檔說默認(rèn)路由規(guī)則是如果新連接到來時會隨機選一個worker,然后這個連接的所有請求都發(fā)給這worker處理。
所以如果連接斷開,又重連產(chǎn)生新的連接,那么這個連接可能會選擇另外一個worker,這個新連接的請求可能會發(fā)給另外一個worker處理。
用Gateway::setSession設(shè)置之后就會分配到綁定的Worker,正常登陸進入都是可以的,只有后臺掛起時間很長了之后才會出現(xiàn) 隨機的情況