我正在编写一个基于 AJAX/COMET 的在线聊天室。我的设计是:
要求
----------------- 等待 -------------> 发送转储数据
----------------- 等待 -------------> 发送转储数据
----------------- 等待 -------------> 发送转储数据
----------------- 等待 -------------> 发送转储数据
----------------- 等待 -------------> 发送转储数据
------ 发生了什么事,得到回应。
另一个请求…………
如您所见,服务器持有请求并等待发生某些事情,如果发生了某些事件,只需推送数据并完成请求。然后客户端将发出另一个请求。请求中有tick,所以如果两个请求之间有事件发生,服务器就知道客户端有挂起的事件。
在浏览器超时之前,服务器也会发送一些空闲数据来防止客户端超时。
现在,问题来了:不同浏览器的超时行为是什么?我知道浏览器发送请求并等待数据,如果等待时间过长,它将超时。但是不同浏览器的超时行为是什么?是否有任何标题可以控制浏览器的超时行为?通过了解浏览器的超时行为,我可以决定如何处理它们。我在哪里可以找到这些数据?