如何从Node.js socket.io服务器向浏览器客户端发送二进制数据?

时间:2014-06-05 22:58:10

标签: javascript node.js websocket socket.io socket.io-1.0

我一直在查看整个Socket.IO文档,但是,即使他们承诺它在那里,我也找不到一个简单的,最简单的例子,说明如何在服务器之间发送二进制数据/客户端。

怎么做?

2 个答案:

答案 0 :(得分:12)

实际上是在文档中。 Socket.io的当前文档在Socket.emit下面说明:

  

[...]向字符串名称标识的套接字发送一个事件。任何其他   参数可以包括在内。支持所有数据结构,包括Buffer [...]

因此,如果您可以发送缓冲区,则可以发送二进制数据。您所要做的就是将数据打包到Buffer对象中。

您可能需要阅读Socket.io Binary SupportSending and Receiving Binary

答案 1 :(得分:2)

从socket.io 1.0开始,可以发送二进制数据。 http://socket.io/blog/introducing-socket-io-1-0/

官方文档中的发送和接收二进制数据的方式并不清楚。唯一的文件是:

var socket = new WebSocket('ws://localhost');
socket.binaryType = 'arraybuffer';
socket.send(new ArrayBuffer);

我建议你看看这个答案,在那里你可以找到服务器和客户端代码实现的基本例子(javascript和java):

How to send binary data with socket.io?

好的部分是它也适用于Android! (如果你愿意的话)

干杯