错误``ws`中的RSV2和RSV3必须清除

时间:2017-07-25 12:45:23

标签: node.js express websocket

我的应用使用Express服务器中的ws来提供WebSocket。我在制作中看到了很多错误:

RSV2 and RSV3 must be clear
/app/node_modules/ws/lib/Receiver.js:184:18getInfo  
/app/node_modules/ws/lib/Receiver.js:153:16startLoop    
/app/node_modules/ws/lib/Receiver.js:139:10add  
/app/node_modules/ws/lib/WebSocket.js:142:22_ultron.on  
events.js:96:13emitOne  
events.js:188:7emit 
_stream_readable.js:176:18readableAddChunk  
_stream_readable.js:134:10Readable.push 
net.js:547:20onread

我的某些用户似乎偶尔会发生这种情况,而且我无法在我的本地环境中重现它。

如何进一步调查此错误的根本原因?

1 个答案:

答案 0 :(得分:0)

根据RFC6455

  

RSV1,RSV2,RSV3:每位1位

     

除非协商扩展定义含义,否则必须为0     对于非零值。如果收到非零值且没有     协商扩展定义了这种非零的含义     值,接收端点必须使WebSocket失败     连接

所以听起来你的服务器正在处理一个设置RSV2或RSV3(或两者)之一的流氓客户端,而没有先与服务器协商它们的含义。

我想您应该尝试找出他们正在使用的客户端/浏览器,并且可能会先发制人地阻止它所建立的连接。