17

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

它是如何完成的?

4

2 回答 2

15

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

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

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

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

于 2014-06-05T23:28:11.310 回答
3

从 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也是):

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

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

干杯

于 2015-12-05T20:28:50.350 回答