2014-07-11 97 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

在與移動設備重新連接的情況下,可靠性是一個問題。您仍然需要一個確認系統來了解客戶是否獲得了該圖像。 –

相關問題