comet相关内容
为什么每个站点都解释说,在SSE中,客户端和服务器之间只有一个连接保持打开状态,“在SSE中,客户端发送标准HTTP请求请求事件流,服务器最初使用标准HTTP响应进行响应,并保持连接打开” 然后,当服务器决定它可以向客户端发送数据时,当我尝试实现SSE时,我看到每隔几秒钟就会发送一次fiddler请求 对我来说,这感觉像是长时间轮询,没有一个连接保持打开。 此外,并不是服务器决定
..
我已经尝试阅读一些文章,但我对这些概念还不是很清楚. 有人愿意向我解释一下这些技术是什么吗: 长轮询 服务器发送的事件 网络套接字 彗星 我每次遇到的一件事是,服务器保持连接打开并将数据推送到客户端.连接如何保持打开状态,客户端如何获取推送的数据?(客户端如何使用数据,也许一些代码可能会有所帮助?) 现在,我应该将其中哪一个用于实时应用.我听说过很多关于 websoc
..
所有 HTTP 响应都需要客户端启动它们,即使是使用 AJAX 做出的响应.但是 GMail 的聊天功能能够接收来自其他用户的消息,即使我只是坐在舒适的电脑椅上观看但不与浏览器交互.他们是怎么做到的? 解决方案 这种技术被称为“彗星",也被称为“服务器推送"、“反向ajax"等. 这是关于将数据从服务器推送到浏览器,保持 http 连接处于活动状态.在 维基百科文章 (英文版).
..
我是否需要传回任何 HTTP 标头以告诉浏览器我的服务器不会立即关闭连接并在收到 HTML 时显示?是否有必要让 HTML 像 flush() 那样增量显示? 这种技术曾经用于聊天之类的事情,但我正在考虑将其用于 COMET 类型的应用程序. 解决方案 长轮询是一种常见的技术来做这样的事情;简单总结一下,它的工作原理如下: 客户端向服务器发送 XHR. 如果有数据准备好,
..
客户端从服务器请求网页.然后 Clent 要求进行额外的计算;服务器执行一系列计算并在部分结果可用时立即发送(文本格式,每行包含单独的完整项目).客户端使用服务器提供的信息更新网页(使用 JavaScript 和 DOM). 这似乎适合 HTTP Streaming (当前 版本)模式来自 Ajaxpatterns 站点. 问题是如何以跨浏览器(与浏览器无关)的方式进行,最好不使用 J
..
收到此错误消息:拒绝设置不安全的标头“Origin" 使用此代码: 函数 getResponse() {document.getElementById("_receivedMsgLabel").innerHTML += "getResponse() 被调用.
";if (receiveReq.readyState == 4 || receiveReq.readyState ==
..
在将数据从 Web 服务器重新加载到前端时,我正在寻找“可行的方法"(即最有效、最常用、最普遍接受的方法).在最终的应用程序中,我将有几个必须写入数据的输出字段,例如: 在最终应用程序中,数据流将彼此不同.必须使用来自服务器的最新数据重新加载线路. 我一直在考虑使用 Ajax 请求以每秒更新一次,但必须有其他方法来做到这一点.Ajax 请求会造成大量的数据流量.此外,在使用 Faceb
..
我想使用 Atmosphere XMPP,但我需要加载本机连接器 APR.我对 JBoss 7 还不是很熟悉,所以我想知道是否有人知道如何做到这一点?WINdows x64 或 Linux x64 环境.没关系.谢谢 解决方案 这里假设 Linux x64.我使用的是 Ubuntu 11.04 x64. 下载 JBoss7 发行版并将其解压缩到合适的目录(从这里我假设您在“/home
..
我在找一个例子,如何在java中实现longpoling机制.我喜欢使用无状态 EJB. 我知道这样的事情会奏效: @WebService(serviceName="mywebservice")@无状态公共类 MyWebService {@WebMethod公共字符串 longPoll() {短 ct = 0;while(someCondition == false && ct
..
假设有一个包含动态生成内容的网页——比如说一个包含当前连接浏览器数量的 div.当服务器上的计数发生变化时,我希望所有连接的浏览器重新加载计数,以便每个人都能看到增量/减量. 实现这一目标的最佳方法是什么? 关键词:ajax、广播、浏览器、div、jquery 解决方案 这里介绍如何使用 ajax 长轮询进行服务器推送.浏览器发出 ajax 请求,启动服务器端自轮询.ajax
..
我使用的是 NodeJS v0.4.8 和最新版本的 socket.io npm install socket.io 在 Ubuntu 上: Linux mars 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux 不幸的是,以下代码不会产生任何输出,无论
..
假设一个服务器获得 10,000 个并发连接(通过 socket.io).太多了,如果它不能处理更多,我需要启动另一台服务器. 如何将两台服务器与其 socket.io 同步? 解决方案 你可以尝试使用例如cluster 模块并将负载分配到多个内核(如果您有一个多核 CPU).如果这还不够,您可以尝试使用 反向代理 跨多个服务器分发请求,并且 redis 作为中央会话数据存储(如果您
..
假设我想在客户端使用 Google GWT,在服务器端使用 Google AppEngine Python.此外,我希望能够使用对服务器的 RPC 调用以及执行基于 COMET 的交换. 就现有框架而言,我有哪些选择? 解决方案 我通过谷歌搜索“gwt python"找到了这个:http://code.google.com/p/python-gwt-rpc/ -- 它似乎不受支持,因
..
有什么方法可以从 GWT“订阅"到 JSON 对象流并在保持活动连接上侦听传入事件,而无需尝试一次获取它们?我相信这项技术的流行语是“彗星". 假设我有 HTTP 服务,它打开保持活动连接,并实时将 JSON 对象与传入的股票报价放在那里: {"symbol": "AAPL", "bid": "88.84", "ask":"88.86"} {"symbol": "AAPL", "bi
..
我看了一段 Google I/O 的视频,发现了一个 GWT UI 在客户端之间非常一致的例子.您可以在客户端之间几乎实时地保存、添加、拖放.我目前不明白这个的基本原理(在 GWT 中,我认为它实现了 Comet),所以有人可以给我一个术语或定义吗?以便我可以在 Google 上获取更多信息? 非常感谢 解决方案 好的,我认为您正在寻找的名称以 Comet、服务器推送、反向 Ajax
..
我的问题可能听起来很愚蠢,但我只是想确定: 是否可以在请求该资源之前发送 HTTP 响应? 例如,您有一个 HTML 页面 index.html,它只显示名为 img.jpg 的图片.现在,如果您的服务器知道访问者每次都会请求 HTML 文件和 jpg 图像: 服务器是否可以在 HTML 文件之后立即发送图像以节省时间? 我知道 HTTP 是一个同步协议,所以理论上它不应该
..
我在 SO 和网络上阅读了许多关于我的问题标题中的关键字的帖子,并从中学到了很多东西.我读到的一些问题与具体的实施挑战有关,而另一些则侧重于一般概念.我只是想确保我理解了所有的概念以及为什么技术 X 比技术 Y 被发明的原因等等.所以这里是: Http 轮询:基本上是 AJAX,使用 XmlHttpRequest. Http Long Polling: AJAX 但服务器会保留响应,除
..
还是服务器发送事件和 WebSocket 会取代 Comet 技术? 解决方案 Comet 是一组通常使用 HTTP 长轮询实现的技术原理/通信模式.它使服务器能够按需向浏览器发送数据(即服务器推送).当前的 Comet 实现需要客户端一些复杂的 Javascript 和服务器端的支持(对于长期持有的请求). Server-Sent Events 是一种标准 (HTML5) 浏览器
..
Caplin 等许多 Comet 实现提供服务器可扩展解决方案. 以下是来自 Caplin 站点的统计数据之一: Caplin liberator 的单个实例最多可支持 100,000 个客户端,每个客户端每秒接收 1 条消息,平均延迟小于 7 毫秒. 这与任何网络服务器上的 HTML5 websockets 相比如何?谁能告诉我任何 HTML 5 websockets 统计数据
..
谁能给我一个简单的使用 PHP 的彗星技术示例? 我只需要一个使用持久 HTTP 连接或类似内容的示例.我不想使用轮询技术,因为我有类似的设置,不仅难以使用和管理它的大量资源.另外我使用的是 IIS7 而不是 Apache. 一个很好的例子会很有帮助,这样我就可以继续使用这种丑陋的投票技术. 解决方案 你应该使用轮询,或者使用一个专门为长请求和 COMET 设计的 web 服务
..