1187得票4回答
长轮询、Websockets、服务器推送事件(SSE)和Comet是什么?

我尝试阅读一些文章,但目前对这些概念并不十分清晰。 有人能否尝试向我解释以下这些技术是什么: 长轮询 服务器发送事件 Websockets Comet 每次我看到的一个共同点是,服务器保持连接打开并将数据推送到客户端。如何保持连接打开,客户端如何获取推送的数据?(客户端如何使用数据,...

806得票17回答
如何实现基本的“长轮询”?

我可以找到很多关于长轮询的工作原理的信息(例如,这里和这里),但没有简单的实现代码示例。 我只能找到依赖于Dojo JS框架和相当复杂的服务器系统的cometd。 基本上,我该如何使用Apache来处理请求,并编写一个简单的脚本(比如PHP)来对服务器进行“长轮询”以获取新消息? 示例不...

448得票6回答
WebSockets协议与HTTP协议的区别

有关WebSocket和HTTP的博客和讨论很多,很多开发者和网站都强烈推崇WebSockets,但我仍然不明白为什么。 例如(WebSocket爱好者的观点): HTML5 Web Sockets代表了Web通信的下一个进化阶段——通过Web上的单个套接字运作的全双工、双向通信管道。- w...

280得票5回答
Facebook和Gmail如何发送实时通知?

我已经阅读了一些有关这个话题的帖子,其中包括comet、反向AJAX、HTTP流、服务器推送等等的答案。 Gmail如何实现收件箱通知? Gmail聊天是如何在没有客户端交互的情况下发起AJAX请求的? 我想知道是否有任何代码参考,可以让我写一个非常简单的示例。许多帖子或网站只谈论技术本...

153得票4回答
我对HTTP轮询、长轮询、HTTP流和WebSockets的理解

我在SO和网络上阅读了很多帖子,涉及到我问题标题中的关键字,从中学到很多。我所读的一些问题涉及具体的实现挑战,而另一些则着重于一般性的概念。我只是想确保我理解所有这些概念以及技术X相对于技术Y的发明原因等推理。以下是具体内容: HTTP轮询:基本上是AJAX,使用XmlHttpRequest...

138得票18回答
有没有一种方法可以从Web服务器向浏览器推送数据?

当然我知道Ajax,但Ajax的问题在于浏览器需要频繁轮询服务器以查找是否有新数据。这会增加服务器负载。是否有更好的方法(包括使用Ajax)可以不经常轮询服务器?

114得票8回答
彗星和jQuery

我已经研究了一些使用JavaScript进行服务器推送的内容,并得出了普遍共识,即我所寻找的内容是“Comet”设计模式。有没有基于jQuery构建的此模式的良好实现?如果没有,是否存在任何良好的此模式的实现?无论对这些问题的答案如何,是否存在关于此模式的实现方面的文档?

104得票8回答
ASP.NET的Comet实现?

我一直在寻找在浏览器内实现类似Gmail的消息传递的方法,并接触到了Comet的概念。然而,我还没有找到一个好的.NET实现,可以让我在IIS中使用它(我们的应用程序是用ASP.NET 2.0编写的)。 我找到的解决方案(或者说能想到的解决方案)需要为每个用户保留一个运行线程,以便他在收到消...

100得票3回答
短轮询 vs 长轮询:实时Web应用的选择?

我正在构建一个实时Web应用程序,据我所知,最流行的选择是短轮询和长轮询。在选择其中一种方式时,可能存在哪些优缺点? 我正在开发一个实时的Web应用程序。据我所知,短轮询和长轮询是最常见的选择。选择哪种方式会有什么优缺点呢?请注意,本文不会对技术进行解释。

84得票11回答
使用PHP的Comet技术?

我在考虑使用PHP后端实现实时聊天,但在讨论Comet的网站上看到了这个评论: 引用: 我的理解是,PHP对于Comet来说是一个可怕的语言,因为Comet要求你对每个浏览器客户端保持持久连接。使用mod_php意味着为每个客户端绑定一个Apache子进程,这在规模上根本无法扩展。我认识的做...