我听说 Websocket(例如 socket.io)非常快,但它们需要每个客户端直接连接。它是否适合上传拥有许多客户端/频繁上传的视频托管文件?或者它会失败并且在这种情况下只能使用 ajax ?
最佳答案
我想说这取决于文件大小以及与客户端的连接持续时间。
如果您使用 HTML5 FileAPI 进行分块上传,然后使用 Websockets 上传数据,这可以显着减少传输的数据量,因为它们不需要为每个请求发送 HTTP header ;例如,如果您将 1GB 文件拆分为 5MB block ,这些值就会累加起来。
如果客户端持续连接,那么 Websockets 可以减少长时间轮询的需要,如果没有新信息推送到客户端,则会浪费服务器上的资源。
因此,Websockets 将减少所需的资源,但并非所有浏览器都可用。
关于file-upload - socket.io 与 ajax 上传文件的 +/- 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561037/