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

多人聊天的一個bug

songzhao831

public static function onGatewayMessage, 在這個函數(shù)里, 如果接收的數(shù)據(jù)格式錯誤, 返回false, 這時系統(tǒng)會踢掉客戶端, 擔(dān)客戶端的狀態(tài)是不對的, 沒有被正常踢掉, 不能檢測到這個斷開.

3690 5 0
5個回答

walkor 打賞

這個不是bug,
onConnect返回false本來不會踢掉客戶端

  • 暫無評論
songzhao831

那怎么處理這種情況, 就是協(xié)議出錯的情況....

  • 暫無評論
walkor 打賞

Event::onGatewayMessage方法是用來分包的,如果在分包過程中發(fā)現(xiàn)協(xié)議不正確,renturn false就斷開鏈接了

其它地方例如onMessage如果發(fā)現(xiàn)用戶傳遞的數(shù)據(jù)格式不合法如何處理完全看你自己業(yè)務(wù)需要,可以通過Gateway::kick* 方法踢掉客戶端鏈接,或者忽略不做任何處理,或者其它..

  • 暫無評論
songzhao831

我之前說錯了, 就是Event::onGatewayMessage 這個地方有問題, 返回false時, 客戶端沒有顯示被關(guān)掉. 客戶端處于一個假死狀態(tài), 無法發(fā)出任何數(shù)據(jù)到服務(wù)端. 測試用的(網(wǎng)絡(luò)調(diào)試助手 和 SocketTool)都是這樣. 建議你驗證一下.

  • 暫無評論
walkor 打賞

這個已經(jīng)驗證過N次了,
剛才又驗證了下沒有問題,Event::onGatewayMessage返回false會關(guān)閉對應(yīng)的客戶端的鏈接。

客戶端沒有顯示被關(guān)掉可能是客戶端的原因,建議你抓包確認(rèn)下鏈接是否被關(guān)閉,不要太相信你的客戶端。

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