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数据,所以才想着既然是数组,那便多传一个参数,结果发现怎么改都不行,还是只能传一个参数,那就给这个参数放一个识别字符串,包含这个字符串,表示是要特殊处理一下的测试

 

posted @ 2022-01-23 15:25  1156740846  阅读(1107)  评论(0编辑  收藏  举报