【发布时间】:2017-03-15 22:28:12
【问题描述】:
我有一个 zip 文件 (15 mb),想将其发送到 android 套接字连接,我可以通过以下代码发出:
fs.readFile('path',function(err,fileData){
io.to(socketId).emit('sendFile',{'file':fileData.toString('base64')});
});
使用上面的代码,小尺寸文件的发射没有任何延迟,如果有任何大尺寸的文件发射被延迟。如何以更好的方式实现这一目标。
【问题讨论】:
-
与使用 TCP 一样,使用 socket.io/webSockets 可以发送的单个消息的大小存在实际限制。我建议您查看“streaming over socket.io”或“streaming over webSocket”的 Google 搜索结果,然后选择其中一种解决方案。您最终会希望以块的形式发送文件,并在另一端重新组装这些块,并且可能使用不需要整个大文件在两端都保存在内存中的系统。