我一直在查看整个Socket.IO文档,但是即使它们承诺已经有了,我仍然找不到一个简单、最小化的示例,说明如何在服务器和客户端之间发送二进制数据。
那该怎么做呢?
我一直在查看整个Socket.IO文档,但是即使它们承诺已经有了,我仍然找不到一个简单、最小化的示例,说明如何在服务器和客户端之间发送二进制数据。
那该怎么做呢?
因此,如果你可以发送一个缓冲区,你就可以发送二进制数据。你需要做的就是将你的数据打包成一个Buffer对象。[...] 发送一个事件到标识为字符串名称的套接字。可以包含任何其他参数,支持所有数据结构,包括Buffer [...]
从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);
myData = new Float32Array([1,2,3,4]).buffer;
),然后通过socket.io
发送它,比如socket.emit("foo",myData)
。它会自动将其视为二进制数据。然后,在另一端,你需要将其转换回来:socket.on("foo",function(data){ data = new Float32Array(data); })
。虽然我是凭记忆写的,但我记得在关于socket.io
1.0发布的博客文章中有一个示例。 - MaiaVictor