长轮询客户端 2 次轮询之间的“时间间隔”
Long Polling client-side "Time Gap" Between 2 Pollings
>假设我有一个服务器支持客户端长轮询。那么我的客户端代码是这样的:
var polling = function() {
$.ajax({
url: "/polling"
}).done(function(data) {
// polling again
polling();
// process the pushed data
...
});
}
polling();
当我想在客户端不断轮询"/polling"时将某些内容推送到客户端时,这应该有效。
但是,您可能会注意到,客户端接收到推送的数据与下一次轮询到达服务器之间存在"时间间隔"。 此"时间间隔"中的数据将丢失。
有多种服务器端解决方法可以避免此问题。但是我想知道客户端是否有任何解决方法?如:* 客户端能否保持长轮询请求始终连接?我发现Gmail应该做一些这样的技巧。我在 GTALK 中聊天,但没有看到"/bind"请求中断。* AJAX 在传输时应该接收不完整的数据吗?然后连接可以永久连接。* Websocket 应该工作吗?如果是这样,没有HTML5我能做什么?
你可能想考虑像 Pusher 这样的东西,它会让你在处理这些事情时的生活更轻松(因为它们给你一个库来处理所有这些在一个很好的包中)。
相关文章:
- 正在停止.在jquery中的特定时间间隔内,每次迭代的每次执行
- 如何在设定的时间间隔内一次只显示一个图像
- 如何在javascript中设置时间间隔
- 使用jquery在特定的时间间隔自动切换/动画css类
- 文章的日期/时间<时间>
- 从具有间隔时间的 javascript 自动调用 jsp
- 时间间隔的 JavaScript 事件侦听器
- 在时间间隔后增加数据库中的值
- 如何为同一功能设置 2 个时间间隔
- 清除间隔在 6 个时间设置后不起作用间隔
- 按一定时间间隔运行Javascript
- 在angularjs中导航期间的停止时间间隔
- 处理日期时间时间戳javascript(angularjs)和mongo的滑块
- 设置具有不同持续时间的间隔
- 高库存不同的时间值间隔
- 如何在 JavaScript 中计算“时间 1”-“时间 2”
- Javascript:存储当前时间's时间戳值
- 如何用具有特定持续时间/时间的事件填充Kendo Scheduler
- 设置默认“反应时间”;当间隔没有打破jquery
- 从工作时间时间范围内减去午餐时间