问题标签 [long-polling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 通过 AJAX 更新呈现页面的所有元素的正确方法是什么?
我有一个由 PHP 呈现的复杂页面,并希望通过 AJAX 长轮询使页面的所有元素保持最新。是否有某种通用/聪明的方法来设计基础设施来支持这一点,而不必手动指定要更新的每个元素?只是在寻找想法。谢谢!
safari - Tornado 流:flush() 在 Safari 和 Chrome 上滞后(Firefox 很好)
在 Safari 和 Chrome 上,直到一定次数的刷新后,我才能在我的页面上看到 flush() 更新实时更新,或者有时它在 Safari 上完全挂起。不过,刷新更新可以立即在 Firefox 上运行。
我想知道几件事:
1) 为什么 Safari 和 Chrome 在刷新更新开始时会滞后,然后在我垃圾邮件刷新后突然正常工作?
2) 与使用 finish() 然后重新轮询相比,flush() 是否具有显着的服务器性能提升?多少?
php - 我的基于 Flash 的聊天客户端不够强大?还有什么其他方法?
我开发了一个基于 Flash 的聊天客户端,它显示属于某个组的用户发布的消息以及他们的用户名和写作时间。数据与组 id、用户 id 和消息一起存储在 mysql 数据库中,以便它在聊天会话之外持续存在,并允许用户稍后登录以查看讨论,而不是聊天,更多的是公告板。当用户写消息时,我希望聊天客户端立即更新,看起来像是实时聊天。到目前为止,我的解决方案是在我的 Flash 代码中包含一个间隔,该间隔调用一个 PHP 页面,该页面在数据库中查询新评论并将其返回给 Flash。
我认为从我读到的这种方法称为长轮询?那正确吗?这对于音量是否足够强大?当有变化时,我会更好地考虑将数据推送到客户端吗?如何检测这些变化?例如,我查看了 APE,但我认为这不会将消息存储在数据库中。
有什么建议么?
ajax - 这个聊天是使用“长轮询”还是“http 流”?
此聊天是使用“长轮询”还是“http 流”?
comet - JSONP 长轮询总是加载
我正在使用 JSONP 进行长轮询,并且 firefox 不断弹出“正在加载”微调器,使页面看起来好像还没有完成加载。有没有办法抑制这种情况?
有人告诉我,Orbited 团队有一些技巧可以抑制这种情况,但是通过 Orbited.js 代码我无法弄清楚它们是什么。任何帮助将不胜感激。
javascript - 长轮询和使用 Comet 有区别吗
我正在实施一个需要实时更新的系统。我一直在研究某些场景,其中包括彗星。实现这一点我看不出这与传统的长轮询有何不同。
在这两种情况下,您都必须发送请求,然后服务器发送回响应。在浏览器中,您解释响应,然后开始一个新请求。
那么,如果在这两种情况下我都需要打开和关闭连接,我为什么要使用彗星。
node.js - 长轮询从浏览器超时
我正在尝试使用 node.js 为 60 秒的长轮询请求提供服务。我面临的问题是,浏览器超时。相同的设置工作 30 秒。有人可以建议如何实现这一目标吗?使用 JQuery 作为 JS 框架。
谢谢...
php - 当 MySQL 什么都不返回时 $result 会是什么?
这可能看起来简单得可笑,但是根据我处理不返回任何内容的查询的方式,我遇到了各种错误。
如何检查我的 mysql_query() 是否返回任何内容?
javascript - Comet(长轮询)和 XmlHttpRequest 状态
我正在玩一点原始的 XmlHttpRequestObjects + Comet Long Polling。(通常,我会让 GWT 或其他框架为我处理这个问题,但我想了解更多相关信息。)
我写了以下代码:
我将调用包装longPoll()
在一个 if 语句中,该语句检查status > 0
,因为我遇到了,当我离开页面时(通过浏览其他地方,或通过重新加载它),发送最后一个不必要的彗星调用。[在 Firefox 上,它甚至会在重新加载页面时导致严重的问题,出于某种我还不完全理解的原因。]
问题:检查是status
处理此问题的正确方法,还是有更好的解决方案?