Javascript Websocket:;无效的帧头“;如果我发送130+;char作为我的结束语

Javascript Websocket:;无效的帧头“;如果我发送130+;char作为我的结束语,javascript,node.js,html,websocket,Javascript,Node.js,Html,Websocket,我使用wsnode.js模块和html5WebSocket Websocket连接在用户启动导入时启动,在导入成功或出现错误时关闭 有时错误消息很长(130多个租船人) 如果这些长消息通过close事件发送,Chrome会抛出一个“无效帧头”错误: ws.close(1008, 'Really long error Really long error Really long error Really long error Really long errorReally long error Re

我使用
ws
node.js模块和html5
WebSocket

Websocket连接在用户启动导入时启动,在导入成功或出现错误时关闭

有时错误消息很长(130多个租船人)

如果这些长消息通过
close
事件发送,Chrome会抛出一个“无效帧头”错误:

ws.close(1008, 'Really long error Really long error Really long error Really long error Really long errorReally long error Really long error')
我做错了什么?

如何修复它?

websocket规范在第5.5节中指出

All control frames MUST have a payload length of 125 bytes or less
and MUST NOT be fragmented.
i、 e.控制帧不能分段(如所述),其有效负载长度限制为125字节

我刚刚使用Chrome在websocket上发送了一个关闭请求,Chrome抛出异常

Failed to execute 'close' on 'WebSocket': The message must not be greater than 123 bytes.

但是,如果某个库试图对消息进行分段或使用扩展长度的消息,则会抛出您看到的错误。

这只是猜测,但控制帧(也称为Close、Ping、Pong)不能分段=>。由于消息太长,Chrome似乎正在分割消息。