我已经成功实现了 nodejs 的 ws 包来设置 websocket 服务器。
一切工作正常,除非我尝试按照以下方式检查套接字可用性:
https://github.com/websockets/ws#how-to-detect-and-close-broken-connections
该ws.ping(noop)
方法总是导致以下错误:
Error: Parse Error
at socketOnData (_http_server.js:480:20)
at Socket.emit (events.js:187:15)
at Socket.EventEmitter.emit (domain.js:441:20)
at addChunk (_stream_readable.js:283:12)
at readableAddChunk (_stream_readable.js:264:11)
at Socket.Readable.push (_stream_readable.js:219:10)
at TCP.onStreamRead (internal/stream_base_commons.js:94:17)
我已经尝试了几乎所有使用ws.ping()
,ws.ping('')
甚至ws.ping(Buffer.alloc(0))
,但无济于事。
ws 套接字是干净且正在运行的,我可以使用事件和ws.send()
方法通过它发送和检索数据。只有 ping/pong 失败。我在客户端(浏览器)上使用本机 WebSocket 对象。
是否可能与我在noServer: true
实例化 websocket wss 服务器时使用的事实有关?
谢谢你的帮助