Javascript 持久上游Comet样式连接
有许多方法具有持久的下游连接。例如,可以使用隐藏的iframe;或者是一个复杂的XHR模型,它利用Javascript 持久上游Comet样式连接,javascript,ajax,cross-browser,xmlhttprequest,comet,Javascript,Ajax,Cross Browser,Xmlhttprequest,Comet,有许多方法具有持久的下游连接。例如,可以使用隐藏的iframe;或者是一个复杂的XHR模型,它利用onreadystate在维护连接的同时通过应用程序推送部分信息。然而,我一直无法找到一种方法,以同样的精神做到坚持不懈 如果您在上游推送中使用连接:保持活动状态,那么您实际上不会每次都中断连接并重建;那很好。您甚至可以在GET查询中对上游推送进行编码,该查询将返回一个空文档 然而,即使距离很近,您仍然没有通过持久的、长轮询的下游连接获得的性能、低延迟和吞吐量 除非,也就是说,有另一种方法可以做到这
onreadystate
在维护连接的同时通过应用程序推送部分信息。然而,我一直无法找到一种方法,以同样的精神做到坚持不懈
如果您在上游推送中使用连接:保持活动状态
,那么您实际上不会每次都中断连接并重建;那很好。您甚至可以在GET
查询中对上游推送进行编码,该查询将返回一个空文档
然而,即使距离很近,您仍然没有通过持久的、长轮询的下游连接获得的性能、低延迟和吞吐量
除非,也就是说,有另一种方法可以做到这一点
这里有一些关于这类解决方案的理论
- 可能是将
流发布到具有边界条件的服务器的能力混合/多部分
- 也许是一种执行分块传输的能力,每个后续的分块都是新数据
但是,除非你有很多请求,否则我会考虑你是否试图优化一些并不真正需要优化的东西。即使是目前最小的可用服务器,每秒也能处理数千个HTTP请求。而且,由于大多数实时客户端应用程序监听的比发送的多,因此快速写入下游连接将真正影响服务器性能。在上游方面,只要您使用“连接:保持活动”来避免套接字设置/拆卸的开销,大多数应用程序都会看到迁移到WebSocket的性能优势可以忽略不计
(我在建筑公司工作。)