【问题标题】:socket.io streaming binary datasocket.io 流式传输二进制数据
【发布时间】:2012-08-27 00:50:05
【问题描述】:

我刚刚开始使用 node.js,我正在运行一个带有 sockets.io 的节点服务器,我需要向客户端发送一个字节缓冲区。

我知道这可以通过首先将字节缓冲区转换为 base64 并将其发送,然后将其转换回客户端来完成。但我想知道是否有更优雅的方式将字节流发送到客户端。

【问题讨论】:

标签: node.js socket.io


【解决方案1】:

https://github.com/binaryjs/binaryjs 可以是一个解决方案。 base 64 有大约 30% 的开销大小,因此如果您需要传输大量数据,它将变得低效。

【讨论】:

  • 我已经查看了 binaryjs,但我找不到一种使它与我的 socket.io 服务器一起工作的方法。我不想废弃我已经编写的代码。
【解决方案2】:

在 socket.io 中使用 binaryjs 有点困难。 试试deliveryjs

https://github.com/liamks/Delivery.js

它通过socket.io提供客户端和服务器之间的通信方式。

但是这个模块也使用了base64转换,这是一个缺点。

【讨论】:

  • 那个链接根本没有帮助。
【解决方案3】:

【讨论】:

  • 项目看起来不再处于活动状态。即问题没有得到解决。
【解决方案4】:

Socket.IO 1.0 现在支持二进制数据传输。请看here。您可以使用 Blob、ArrayBuffer 和 File。

【讨论】:

    猜你喜欢
    • 2010-09-25
    • 2016-12-24
    • 2014-09-25
    • 2015-10-03
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多