課程
/后端開發(fā)
/Java
/Netty入門之WebSocket初體驗
如何模擬客戶端主動關閉呢?直接關瀏覽器跑二進制消息里面了,沒有走關閉流程。main方法的finally也沒執(zhí)行。
2018-09-04
源自:Netty入門之WebSocket初體驗
正在回答
客戶端關閉是socket.close()方法,直接關瀏覽器也是會給服務端發(fā)送關閉請求的,直接跑到二進制消息中的原因是這樣的。在判斷是否為CloseWebSocketFrame的時候,如果是CloseWebSocketFrame并沒有return,也就是程序?qū)^續(xù)往下運行,然后又判斷如果不是TextWebSocketFrame自然就拋異常,所以正解應該是在判斷CloseWebSocketFrame時,如果是,加上return即可。
舉報
由淺入深了解Java高性能NIO通信首選框架——Netty
1 回答如何對應多個客戶端建立連接進行管理
5 回答服務端可以正常啟動,客戶端不能連接
3 回答客戶端建立不了websocket連接報錯!
1 回答為啥我訪問的時候就是二進制消息,從而報錯了啊
5 回答老師的源代碼啟動之后一旦刷新網(wǎng)頁,或者關閉網(wǎng)頁,就會拋異常,請問如何解決它?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2019-03-20
客戶端關閉是socket.close()方法,直接關瀏覽器也是會給服務端發(fā)送關閉請求的,直接跑到二進制消息中的原因是這樣的。在判斷是否為CloseWebSocketFrame的時候,如果是CloseWebSocketFrame并沒有return,也就是程序?qū)^續(xù)往下運行,然后又判斷如果不是TextWebSocketFrame自然就拋異常,所以正解應該是在判斷CloseWebSocketFrame時,如果是,加上return即可。