如何从Node.js中的Websocket接收二进制数据?

时间:2018-05-07 19:40:18

标签: node.js websocket

我需要将二进制数据转换为字符串。

我有这段代码:

var ws = new WebSocket(url);
ws.binaryType = 'arraybuffer';
ws.on('message', function(body) {
  console.log(body);
  console.log(body.toString());
});

我进入了控制台:

ArrayBuffer { byteLength: 266 }
[object ArrayBuffer]  

从下一个代码:

var ws = new WebSocket(url);
ws.on('message', function(body) {
  console.log(body);
  console.log(body.toString());
});

我得到了:

<Buffer 1f 8b 08 00 00 00 00 00 00 00 5d 92 c1 4b 1b 41 14 c6 bf 37 9b 51 82 84 a2 29 88 86 45 f1 50 2f 12 77 d5 54 14 d4 80 07 8f ... >

这样的事情:

4ƿ7�Q���)��E�P/w�TԀ�JB[�B�S4�VA��Pza/"=ToC��[Ͻ�'Z�Z�^���7wXv�7�|�͛I@�^~��J�G��c�ʴ�Co�<��_70K1���~����iY31;��zc��<B���Q��~�+�F��_M(= N^I��}BU?U�̲��)���L���=,p��1\��8�[���[c�S]K����ܖIy.���Ơg\q��T���R�
���������8��#O;����f���n9z��CF:��Y��Xfl��--��U�QM�z�d֧�Ó�H�                                                      �}1yć�f�C����/2��"�TH���ԅʛ�w)E�R4

在浏览器中我得到了这个:

https://i.imgur.com/0aMnsQy.png

1 个答案:

答案 0 :(得分:0)

您的问题仅限于:我需要将二进制数据转换为字符串,对吗?

看看这里:Converting between strings and ArrayBuffers