我是否需要传回任何HTTP标头告诉浏览器我的服务器不会立即关闭连接并显示为收到HTML?是否有必要让HTML逐步显示为flush()?
这种技术曾经用于聊天等事情,但我正在考虑将它用于COMET类型的应用程序.
长轮询是做这样事情的常用技巧; 简要总结一下,它的工作原理如下:
客户端将XHR发送到服务器.
如果有数据就绪,服务器立即返回.
如果没有,服务器会保持连接处于打开状态,直到数据可用,然后返回此状态.
如果请求超时,请返回1).
客户端上运行的页面接收此数据,并使用它执行的操作.
回到1)
这就是Facebook 实现其聊天功能的方式.
本文还阐述了长轮询的一些误解,并详细说明了这样做的一些好处.