websocket


 錯誤示例一:

websocket = new WebSocket("ws://192.168.1.24:8024/ws/monitor", ["Test:" + sn]);

上面代碼錯誤,WebSocket 的第二個參數不能包含冒號,否則會報錯,提示不合法

DOMException: Failed to construct 'WebSocket': The subprotocol 'Test:202110008' is invalid.

 

 錯誤示例二:

websocket = new WebSocket("ws://192.168.1.24:8024/ws/monitor", ["Test", sn]);

上面的代碼錯誤,雖然這里的第二個參數是數組,但是傳兩個參數時,后端依然收到的是一個參數,並不是說會丟棄第二個參數,而是以逗號為分割符,連接的兩個參數的字符串,並且會報錯

WebSocket connection to 'ws://192.168.1.24:8024/ws/monitor' failed: Error during WebSocket handshake: 'Sec-WebSocket-Protocol' header must not appear more than once in a response

大致意思是說,同樣一個請求返回頭,不能重復出現,只能有一個,這個就很奇怪了,我也不清楚為啥

 

 錯誤示例三:

上面的錯誤說返回的請求頭重復了,於是我想着把后端的請求頭設置去掉,就是去掉下圖中紅框的部分,但是又出現了其他錯誤

 

 

 

WebSocket connection to 'ws://192.168.1.24:8024/ws/monitor' failed: Error during WebSocket handshake: Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received

大致意思是說,請求的時候帶了協議參數,但是返回的時候卻沒有帶,握手失敗

 

 正確示例:

websocket = new WebSocket("ws://192.168.1.24:8024/ws/monitor", ["Test" + sn]);

數組中只寫一個對象,其實這里本來是只傳一個token的,但是測試的時候只想帶一個自己想要測試的sn數據,所以才想着既然是數組,那便多傳一個參數,結果發現怎么改都不行,還是只能傳一個參數,那就給這個參數放一個識別字符串,包含這個字符串,表示是要特殊處理一下的測試

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM