2014-07-11 64 views
3

目前,即时通过我的socket.io 0.9发送base64字符串在我的聊天应用程序中发送图像。socket.io二进制缓冲区的优点?

我升级到socket.io 1.0,,在文档中说它支持Binary数据,如Buffers。我对缓冲区的含义知之甚少,但看起来似乎可以奏效。

对我来说有什么好处,我会把我所有的base64字符串移动到Buffers并发送它们,而不是原始字符串。二进制支持是否对大消息做出明智的选择?

+0

我使用的base64太多,但我遇到一些问题时,该文件是大的,用户得到超时:http://stackoverflow.com/questions/34734943/chat-message-is-blocked-when -sending-file-then-timeout-due-to-heartbeat难道你打扰了吗? – Arch1tect

回答

0

socket.io引入了发送二进制数据的能力,主要是因为用户需要它。

如果直接发送图像作为缓冲区,您将减少带宽。 Base64比原始数据大小大约大37%。

来源:base64 encoded image size

+0

谢谢!它是否更稳定?当我有一个不好的(移动)连接并发送一个大的base64时,连接有时会中断。 –

+0

在与移动设备重新连接的情况下,可靠性是一个问题。您仍然需要一个确认系统来了解客户是否获得了该图像。 –

相关问题