我在NodeJS上运行SocketIO,我并不关心广泛的浏览器支持,因为这是我的宠物项目,我希望利用新技术的所有功能来简化开发。我关心的是如何将大量的JSON数据从服务器发送到客户端并返回。好吧,这些数量不像视频或图像二进制数据那么大,我想每个请求不会超过几百KB。
我看到的两个场景是:
我在Meteor.js中看到了第一个案例,所以我想知道它的原因。 请分享您的意见。
答案 0 :(得分:5)
Websockets应该支持大型数据集(理论中最多16 exabyte),所以从这个角度看它应该可以正常工作。 XHR的优势在于您将能够随着时间的推移观察进度,并且通常可以更好地测试大数据块。例如,我已经看到了websocket服务器实现(回顾性地思考)不能很好地处理大数据,因为它们会将整个数据加载到内存中(而不是流式传输数据),但这当然不一定是socket的情况。 io(dunno)。以防万一:使用socket.io试一试,同时观察内存使用情况和稳定性。如果它工作,绝对使用websockets,因为长期来看,对大数据包的支持只会变得更好,绝对不会更糟。如果结果是不稳定或者socket.io无法传输更大的数据文件,那么使用XHR结构。
顺便说一句,只是谷歌搜索出现siofile,没有那么多关注它,但它可能只是你需要的东西。