Questions tagged «comet»

Comet是一个通用术语,用于描述用于将数据从Web服务器“推送”到连接的Web客户端的技术。与“典型” Web连接不同,在Web连接中,客户端必须先请求数据,然后服务器才能响应该数据,而在Comet实现中,可以从服务器推送数据而无需客户端请求所述数据。Comet可以通过多种方式实现:长轮询,回调轮询,永远帧等。

4
什么是长轮询,Websocket,服务器发送事件(SSE)和Comet?
我已经尝试阅读一些文章,但是我对这些概念还不太清楚。 有人想向我解释一下这些技术是什么吗? 长轮询 服务器发送的事件 网络套接字 彗星 我每次遇到的一件事是,服务器保持打开连接并将数据推送到客户端。连接如何保持打开状态,客户端如何获取推送的数据?(客户端如何使用数据,也许一些代码可能会有所帮助?) 现在,我应该为实时应用程序使用哪一个。我已经听到很多关于websockets的信息(使用socket.io [一个node.js库]),但是为什么不使用PHP?

17
如何实施基本的“长轮询”?
我可以找到许多有关Long Polling工作原理的信息(例如this和this),但是没有简单的示例说明如何在代码中实现这一点。 我所能找到的就是cometd,它依赖于Dojo JS框架和一个相当复杂的服务器系统。 基本上,我将如何使用Apache来处理请求,以及如何编写一个简单的脚本(例如PHP)来“长时间轮询”服务器以获取新消息? 该示例不必是可伸缩的,安全的或完整的,只需要工作即可!
776 php  http  comet 

6
WebSockets协议与HTTP
关于websocket和HTTP的博客和讨论很多,许多开发人员和站点强烈主张websockets,但我仍然不明白为什么。 例如(网络套接字爱好者的参数): HTML5 Web套接字代表了Web通信的下一个发展趋势-一种全双工,双向通信通道,它通过Web上的单个套接字进行操作。(http://www.websocket.org/quantum.html) HTTP支持流传输:请求正文流(您在上传大文件时正在使用它)和响应正文流。 与WebSocket建立连接期间,客户端和服务器每帧交换数据,每帧2字节,而连续轮询时HTTP头为8千字节。 为什么这2个字节不包括tcp且在tcp协议开销下? GET /about.html HTTP/1.1 Host: example.org 这是〜48个字节的http标头。 http分块编码-https : //en.wikipedia.org/wiki/Chunked_transfer_encoding : 23 This is the data in the first chunk 1A and this is the second one 3 con 8 sequence 0 因此,每个块的开销并不大。 同样,这两个协议都可以通过TCP进行工作,因此所有具有长寿命连接的TCP问题仍然存在。 问题: 为什么websockets协议更好? 为什么实施而不是更新http协议?
329 ajax  http  websocket  comet 

5
Facebook,Gmail如何发送实时通知?
我已经阅读了有关此主题的一些帖子,答案是彗星,反向ajax,http流,服务器推送等。 Gmail上的传入邮件通知如何工作? 在没有客户端交互的情况下,GMail Chat如何能够发出AJAX请求? 我想知道是否有任何代码参考可以用来编写一个非常简单的示例。许多帖子或网站只是在谈论这项技术。很难找到完整的示例代码。同样,似乎可以使用多种方法来实现彗星,例如Hidden IFrame,XMLHttpRequest。我认为,使用XMLHttpRequest是更好的选择。您如何看待不同方法的利弊?Gmail使用哪一个? 我知道它需要同时在服务器端和客户端执行此操作。是否有PHP和Javascript示例代码?
269 comet 


4
我对HTTP轮询,长轮询,HTTP流和WebSocket的理解
我在SO和网络上阅读了很多有关我的问题标题中的关键字的帖子,并从中学到了很多。我读的一些问题与特定的实施挑战有关,而其他问题则与一般概念有关。我只是想确保我了解所有概念以及为什么发明技术X而不是发明技术Y的理由等等。因此,这里去: Http轮询:基本上是AJAX,使用XmlHttpRequest。 Http Long Polling: AJAX,但服务器保留响应,除非服务器进行了更新,一旦服务器进行了更新,它将发送该更新,然后客户端可以发送另一个请求。缺点是需要来回发送的附加头数据,导致额外的开销。 Http流传输:类似于长轮询,但是服务器使用带有“传输编码:分块”的标头进行响应,因此我们不需要每次服务器发送一些数据时就发起一个新请求(从而节省了额外的标头开销)。这里的缺点是我们必须“理解”并弄清楚数据的结构,以区分服务器发送的多个块。 Java Applet,Flash,Silverlight:它们提供了通过tcp / ip连接到套接字服务器的功能,但是由于它们是插件,因此开发人员不想依赖它们。 WebSockets:它们是新的API,它试图通过以下方式解决上述方法的不足: WebSockets相对于Java Applet,Flash或Silverlight等插件的唯一优势是WebSockets内置于浏览器中,并且不依赖于插件。 与HTTP流相比,WebSockets的唯一优势是您不必费力“理解”和解析收到的数据。 WebSockets相对于Long Polling的唯一优势在于,它消除了额外的标头大小以及为请求打开和关闭套接字连接。 我还有其他重大差异吗?很抱歉,如果我要重新提出或将关于SO的许多问题合并为一个问题,但是我只想从SO和Web上有关这些概念的所有信息中完全理解。 谢谢!

8
Comet和jQuery [关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我已经对使用javascript的服务器推送进行了一些研究,发现普遍的共识是,我要寻找的是“ Comet”设计模式。是否在jQuery之上构建了该模式的任何良好实现?如果没有,那么该模式是否有任何好的实现?而且,无论这些问题的答案是什么,从实现的角度来看,是否有关于此模式的文档?

8
ASP.NET的Comet实现?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 改善这个问题 我一直在研究在浏览器中实现类似gmail的消息传递的方法,并提出了Comet概念。但是,我找不到能够在IIS中完成此操作的良好.NET实现(我们的应用程序是用ASP.NET 2.0编写的)。 我找到的解决方案(或可能想到的)需要为每个用户保留一个正在运行的线程-这样,一旦他收到一条消息,它就可以向他返回响应。当然,这根本无法扩展。 所以我的问题是-您知道Comet的ASP.NET实现以不同的方式工作吗?使用IIS甚至可能吗?
103 asp.net  iis  comet 

11
在PHP中使用Comet吗?
我当时在考虑使用PHP后端实现实时聊天,但在讨论彗星的网站上遇到了以下评论: 我的理解是,PHP是Comet的一种糟糕的语言,因为Comet要求您保持对每个浏览器客户端开放的持久连接。使用mod_php意味着为每个客户端完全绑定一个Apache子节点,而这根本无法扩展。我认识的从事Comet工作的人大多使用Twisted Python,该工具旨在处理数百或数千个同时连接。 这是真的?还是可以配置的东西?
82 php  comet 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.