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

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

它是如何完成的?

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

[…]向由string名称标识的套接字发出一个事件。 任何其他参数都可以包含在内。 所有的数据结构都被支持,

所以,如果你可以发送一个缓冲区,你可以发送二进制数据。 你所要做的就是把你的数据打包到一个Buffer对象中。

您可能需要阅读Socket.io二进制支持和发送和接收二进制文件

从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); 

我build议你看看这个答案,你可以find服务器和客户端的代码实现的基本示例(JavaScript和Java):

如何使用socket.io发送二进制数据?

好的部分是,它也适用于Android! (如果你希望)

干杯