Javascript Node.js和Socket.io UTF8验证类型来自ws的错误
验证通过socket.io从客户端接收的数据时出现此错误Javascript Node.js和Socket.io UTF8验证类型来自ws的错误,javascript,node.js,sockets,socket.io,Javascript,Node.js,Sockets,Socket.io,验证通过socket.io从客户端接收的数据时出现此错误 C:\Users\Rayce\Documents\SENG513\node-js-getting-started\node_modules\socket.io\node_modules\ws\lib\Receiver.js:532 6:23:55 PM web.1 | if (!Validation.isValidUTF8(messageBuffer)) { 6:23:55 PM web.1 |
C:\Users\Rayce\Documents\SENG513\node-js-getting-started\node_modules\socket.io\node_modules\ws\lib\Receiver.js:532
6:23:55 PM web.1 | if (!Validation.isValidUTF8(messageBuffer)) {
6:23:55 PM web.1 | ^
6:23:55 PM web.1 | TypeError: Cannot read property 'isValidUTF8' of undefined
6:23:55 PM web.1 | at C:\Users\Rayce\Documents\SENG513\node-js-getting-started\node_modules\socket.io\node_modules\ws\lib\Receiver.js:532:28
6:23:55 PM web.1 | at C:\Users\Rayce\Documents\SENG513\node-js-getting-started\node_modules\socket.io\node_modules\ws\lib\Receiver.js:368:7
6:23:55 PM web.1 | at C:\Users\Rayce\Documents\SENG513\node-js-getting-started\node_modules\socket.io\node_modules\ws\lib\PerMessageDeflate.js:249:5
6:23:55 PM web.1 | at afterWrite (_stream_writable.js:355:3)
6:23:55 PM web.1 | at onwrite (_stream_writable.js:346:7)
6:23:55 PM web.1 | at WritableState.onwrite (_stream_writable.js:89:5)
6:23:55 PM web.1 | at afterTransform (_stream_transform.js:79:3)
6:23:55 PM web.1 | at TransformState.afterTransform (_stream_transform.js:54:12)
6:23:55 PM web.1 | at Zlib.callback (zlib.js:613:5)
[DONE] Killing all processes with signal null
6:23:55 PM web.1 Exited with exit code 1
在Receiver.js中编辑掉这段代码
if (!Validation.isValidUTF8(messageBuffer)) {
self.error('invalid utf8 sequence', 1007);
return;
}
阻止错误的发生,但我更喜欢一个更好的解决方案,因为我想使用NPM,并且不想在每次更新时都重做
我还尝试将utf-8-validate安装到socket.io的node_modules文件夹中,但没有成功更新:升级
ws
v2.x可以解决这个问题
在ws
模块中更改Receiver.js,如下所示:
var isValidUTF8 = require('./Validation')
...
if (!isValidUTF8(messageBuffer)) {
...
}
你可以这样做只是让它工作,但这不是一个好的解决方案,似乎有一个错误的导出验证模块,你可以发送一个PR到
ws
来解决这个问题。你能解决吗?我也有同样的问题我也有同样的问题,而且这对任何人都有帮助^-^