socket.io 二进制缓冲区的优点?
Posted
技术标签:
【中文标题】socket.io 二进制缓冲区的优点?【英文标题】:socket.io binary buffer advantages? 【发布时间】:2014-09-01 22:37:09 【问题描述】:目前,我通过我的socket.io 0.9
发送base64
字符串以在我的聊天应用程序中发送图像。
我升级到socket.io 1.0,
,文档中说它支持Binary
数据,例如Buffers
。我对缓冲区是什么知之甚少,但似乎可以让它发挥作用。
对我来说有什么好处,我会将我的所有 base64
字符串移动到 Buffers
并发送它们,而不是原始字符串。二进制支持对大消息有什么好处吗?
【问题讨论】:
我也使用base64,但是当文件很大时我遇到了一些问题,用户超时:***.com/questions/34734943/…打扰你了吗? 【参考方案1】:socket.io 引入了发送二进制数据的能力主要是因为用户要求它。
如果直接将图像作为缓冲区发送,则会减少带宽。 Base64 比原始数据大小大约大 37%。
来源:base64 encoded image size
【讨论】:
谢谢!是不是也更稳定了?当我有一个坏的(移动)连接并发送一个大的 base64 时,连接有时会中断。 在与移动设备重新连接的情况下,可靠性是一个问题。您仍然需要一个确认系统才能知道客户是否收到了图像。以上是关于socket.io 二进制缓冲区的优点?的主要内容,如果未能解决你的问题,请参考以下文章
如何将二进制数据从 Node.js socket.io 服务器发送到浏览器客户端?