我正在使用node-v0.10.4來運行web-sockets代理以連接到特定種類的服務器。但在通過代理使用Firefox瀏覽器(最新版本)進行連接後,我的終端中出現以下錯誤。錯誤顯示在終端:在爲websocket代理使用node-v0.10.4時出現'invalid data'錯誤
net.js:595
throw new TypeError('invalid data');
^
TypeError: invalid data
at Socket.write (net.js:595:11)
at WebSocket.<anonymous> (/home/n-mol/Desktop/abs-master/wsproxy/wsproxy-tcp.js:69:10)
at WebSocket.EventEmitter.emit (events.js:98:17)
at Receiver.self._receiver.onbinary (/home/n-mol/node_modules/ws/lib/WebSocket.js:549:10)
at Receiver.opcodes.2.finish (/home/n-mol/node_modules/ws/lib/Receiver.js:448:14)
at Receiver.expectHandler (/home/n-mol/node_modules/ws/lib/Receiver.js:433:33)
at Receiver.add (/home/n-mol/node_modules/ws/lib/Receiver.js:93:24)
at Socket.firstHandler (/home/n-mol/node_modules/ws/lib/WebSocket.js:524:22)
at Socket.EventEmitter.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:710:14)
JavaScript代碼的下面一行出現在/home/n-mol/Desktop/abs-master/wsproxy/wsproxy-tcp.js:69:10
68. if (sock_ready) {
69. sock.write(bytesView.buffer);
70. } else ...
我想有一些兼容性問題,但我無法解決它。任何幫助將不勝感激。提前致謝。
究竟是什麼'bytesView.buffer'?如果它不是字符串或緩衝區(比如,如果它是'null'),那麼你會得到這個異常。 – Pointy
變量bytesView定義如下: var bytesView = new Uint8Array(data); P.S. :使用不完全由我開發的JS代碼。 –
那麼'bytesView.buffer'是**不是**節點「緩衝區」實例,它也不是一個字符串。這就是錯誤告訴你的。如何讓它成爲一個或另一個,我不知道。 – Pointy