问题标签 [comet]

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.

0 投票
2 回答
982 浏览

javascript - 不使用 IFrame 的 Comet 应用程序

我刚刚开始使用服务器端推送创建 AJAX 应用程序。我在 Glassfish V2 上使用灰熊彗星。几乎所有示例应用程序都使用 IFrame 在客户端更新内容。我想坚持只使用 JavaScript。有没有这样的示例应用程序(最好是不使用 JavaScript 库的应用程序)?

0 投票
17 回答
305257 浏览

php - 如何实现基本的“长轮询”?

我可以找到很多关于长轮询如何工作的信息(例如thisthis),但没有关于如何在代码中实现它的简单示例。

我能找到的只有cometd,它依赖于 Dojo JS 框架和一个相当复杂的服务器系统。

基本上,我将如何使用 Apache 来处理请求,以及我将如何编写一个简单的脚本(例如,在 PHP 中)来“长轮询”服务器以获取新消息?

该示例不必是可扩展的、安全的或完整的,它只需要工作!

0 投票
9 回答
17058 浏览

iphone - iPhone 上的 COMET(服务器推送到客户端)

我正在寻找从我的服务器到我的 iPhone 应用程序的某种套接字/COMET 类型的功能。本质上,只要用户设法在服务器上设置任意对象“脏”,比如更新他们的地址……反馈应该从服务器推送到任何保持对服务器进行实时轮询的客户端。我想这个流行语是彗星。我知道有用于 Web 浏览器应用程序的 DWR,所以我在想,也许最好在我的每个控制器中设置一个隐藏的 UIWebView,这样我就可以从他们的 javascript 框架中开箱即用 COMET?有没有更优雅的方法?

0 投票
5 回答
7743 浏览

ajax - 通过 http 流式传输二进制数据

我正在研究将二进制数据流式传输到浏览器中(通过 http)。我正在寻找有关执行此操作的好方法的意见。最终,我将拥有一个实时数据源,并且我想操纵这些数据并在浏览器中(实时)显示它。Firefox 是第一位的,IE 会很好……但我没那么挑剔。我有一个 Firefox 插件,可以满足我的需要,但我更喜欢用 javascript/html 编写的东西,无需用户安装任何插件即可工作。

我一直在研究 multipart/x-mixed-replace MIME/media 类型,它看起来在这个项目中可能很有用,但我想在我花钱之前听听关于更好的方法(如果有的话)的意见沿着这条路走好几个小时。

Flash 可能会完成这项工作,但我还是想避免使用插件。我想要最简单的解决方案(我们不是吗?),最好只使用 javascript/html。

我也一直在研究彗星,看看它能为我做什么。

0 投票
3 回答
631 浏览

flash - (如何)你能在 Flash 中实现蜗牛 HTTP(彗星/长寿命连接)吗?

我对 Web 应用程序的流式数据非常感兴趣。我已经尝试了一些 javascript 库,但是黑客和浏览器不兼容让我发疯了!HTML5 有望将流数据标准化,但在那之前,我希望我可以借助 Flash 使其在所有浏览器中都能正常工作。不幸的是,我对 Flash 提供的所有功能都不是很熟悉。

我在 Flash 8 中尝试过 loadVariables.onData,但它不支持流数据。数据仅在请求完成后可用。每次返回新数据时有什么方法可以调用函数吗?

0 投票
6 回答
7283 浏览

ajax - 是否有不需要在服务器端修改的情况下轮询的 ajax 替代方案?

我正在尝试创建一个小型且基本的基于“ajax”的多人游戏。对象的坐标由 PHP“处理程序”给出。使用 ajax 每 200 毫秒轮询一次这个 handler.php 文件。

由于没有任何事情发生时不需要轮询,我想知道,有没有什么东西可以在没有频繁轮询的情况下做同样的事情?例如。Comet,虽然我听说您需要为 Comet 配置服务器端应用程序。这是一个共享的网络服务器,所以我不能这样做。

如果客户端不需要更改任何内容,可能会阻止 handler.php 文件甚至返回响应,这可能吗?然后,即使某些事情还没有改变,您仍然会让客户无用地要求响应。基本上,它应该只在需要告诉客户某些事情时才使用带宽和服务器资源,例如。物体坐标的变化。

0 投票
3 回答
3731 浏览

http - 使用异步队列连接 http 请求/响应模型

将同步 http 请求/响应模型与基于异步队列的模型连接起来的好方法是什么?

当用户的 HTTP 请求到来时,它会生成一个进入队列的工作请求(在本例中为beanstalkd)。其中一名工作人员接听请求,完成工作并准备响应。

队列模型不是请求/响应——只有请求,没有响应。所以问题是,我们如何最好地将响应返回到 HTTP 世界并返回给用户?

想法:

  1. Beanstalkd 支持轻量级主题或队列(他们称之为管)。我们可以为每个请求创建一个管道,让工作人员在该管道上创建一条消息,并让 http 进程在管道上等待响应。不要特别喜欢这个,因为它有 apache 进程坐在那里占用内存。

  2. 让 http 客户端轮询响应。用户的初始 HTTP 请求启动队列中的作业并立即返回。客户端(用户的浏览器)定期轮询响应。在后端,worker 将其响应放入 memcached,我们将 nginx 连接到 memcached,因此轮询是轻量级的。

  3. 使用彗星。类似于第二个选项,但使用更高级的 http 通信来避免轮询。

我倾向于 2,因为它很容易而且众所周知(我还没有使用过彗星)。我猜可能还有一个我没有想到的更好的明显模型。你怎么看?

0 投票
3 回答
1651 浏览

ajax - Comet 与当前技术的兼容性

我听说我可以使用Comet作为服务器推送技术以及我的 Ajax 代码来提高我的 Web 应用程序的性能。

Comet 技术有多成熟?

所有 Web 服务器、编程语言和浏览器都支持它吗?

使用 Comet 的缺点是什么?

0 投票
1 回答
1267 浏览

javascript - 传递给 cometd.subscribe() 的参数

希望这不是一个具体/太小的问题,但我想知道是否有人知道 dojo cometd subscribe() 函数的可能参数是什么?

我见过的几个例子表明两个参数

但是我见过的一些实现包括参数列表的布尔值和可能的对象,并且通读代码表明该函数可以处理 4 个参数。我正在尝试查看代码并查看它们最终的最终结果,但是整理代码需要一段时间 - 我希望这里有人可能知道一些如此晦涩的东西。

在一个稍微连接的线程上 - 有谁知道使用 cometd 的文档是否比在cometdproject找到的可怜的票价更多?

0 投票
4 回答
7784 浏览

javascript - javascript中的端口监听

我正在尝试用 javascript 编写一些简单的聊天客户端,但我需要一种实时更新消息的方法。虽然我可以使用 xmlhttprequest 函数,但我相信它会占用服务器上的 TCP/IP 端口,而且可能更重要的是,它在我当前的托管包中是不允许的。无论如何,这似乎不是一个理想的解决方案,因为不断地打开连接似乎有点笨拙,如果我可以只在端口上监听并获取数据会容易得多。我在互联网上查看了很多关于彗星和连续轮询的参考资料,这些都不能令人满意,而且很多人说 javascript 并不真正适合它,我可以同意。现在我实际上已经了解了更多关于互联网的工作原理,但是,这似乎是可行的。到目前为止,我不需要担心发送消息;