问题标签 [cometd]

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 投票
1 回答
1267 浏览

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

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

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

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

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

0 投票
1 回答
764 浏览

java - 使用 Terracotta 对 COMET 进行聚类

我们正在尝试使用 JETTY 7.0 的暂停 servlet 3.0 API 实现来集群一个用 Java 编写的 COMET Web 应用程序。

有没有人有在暂停/恢复 servlet Web 应用程序中使用 Terracotta 的经验。

JETTY 的 Greg Wilkins 提到了 Terracotta 的 COMET 性能问题。

0 投票
7 回答
20500 浏览

python - Python彗星服务器

我正在构建一个 Web 应用程序,该应用程序具有我想通过长轮询机制更新的实时提要(类似于 Facebook 的新闻提要)。我知道对于 Python,我的选择几乎是使用 Stackless(从他们的 Comet wsgi 示例构建)或 Cometd + Twisted。不幸的是,关于这些选项的文档很少,我在网上找不到关于 Python 上的彗星生产规模用户的良好信息。

有没有人在生产系统中成功地在 Python 上实现了彗星?你是怎么做的,我在哪里可以找到资源来实现我自己的?

0 投票
5 回答
2061 浏览

javascript - 如何启动 ajax 推送网站(activemq 或 cometd 或其他)?

我想启动一个将使用 ajax 推送的应用程序,但是应该正确配置 Web 服务器,我不知道如何在服务器端组件上启动。

我想从dojo 的 cometd开始,然后阅读一些博客说activeMQ比较老,并且是 ajax push 的标志性载体,但也有另一个博客说很难设置并使其工作。

现在我在开始之前很困惑,请告诉我我的方式:) 配置 ajax 推送环境的最佳方式是什么?

思南。

0 投票
1 回答
569 浏览

callback - 如何为回调轮询配置 dojox.cometd?

到目前为止,我找到了一些关于如何配置 dojox.cometd 的示例,但没有一个示例配置了 connectionType。我目前对回调轮询而不是长轮询(据我所知,这是默认的)更感兴趣。

有人可以在这里帮助我吗?我必须承认 dojox 文档对我来说非常晦涩难懂,甚至源代码也有点混淆(至少对我来说,我不是 javascript-ninja 编码器)

0 投票
1 回答
605 浏览

servlets - comet 回调轮询和 jetty-cometd 实现

我正在使用码头服务器附带的 Cometd 实现。我想使用回调轮询传输,但是当我尝试从 javascript 连接到彗星服务器时(注意 html 页面在另一个 web 服务器中),码头抱怨 servlet 不支持 GET 方法。这是码头实施的错误/错误/任何事情还是我遗漏了什么?

0 投票
1 回答
1294 浏览

java - 在 Dojo cometd java 客户端中解码响应的正确方法

我想使用 Dojo cometd 通道来回推送任意 XMLEncoded java 对象,但我在正确解码有效负载时遇到了问题。

为了做到这一点,我在聊天室客户端演示程序的精简版中有这个发送方法:

现在它创建了一个扁平化为 UTF-8 编码字节流的 XML 片段(我知道我也需要处理编码,但这不是现在的问题)。

接受此消息的消息侦听器如下所示:

正如您所看到的,我通过反复试验发现,发送的字符串具有小于、大于和与号字符的保护,然后我取消保护并调用 XMLDecode。

输出是:

所以它是可逆的。我将这些字符放在被 XMLEncoded/XMLDecoded 的字符串对象中的实验并不好——它们没有受到双重保护——所以我的粗暴解码也影响了它们。

问题是:解码这些字符串的正确方法是什么?我需要使用 JSON 库来代替我快速而肮脏的代码吗?可能我在 Cometd 的 Java 客户端库中遇到了错误?

(注意:我在这个实验中一直使用 cometd-1.0.0rc0 库)。


编辑:事实证明,通信是通过同一网络服务器中的另一个部署发生的,而不是我认为负责 cometd 通信的部署,并且部署包含进行 XML 保护的 filter.json。

http://groups.google.com/group/cometd-users/browse_thread/thread/6fbdaae669e5f9d3

换句话说,我的代码之外的配置问题。希望修改后的部署能够解决这个问题。

0 投票
2 回答
1094 浏览

gwt - 如何将 GWT 连接到 CometD/Bayeux 事件?

我有一个 GWT 应用程序,当它们进入时,它需要定期用新的刻度项更新屏幕。我们还有由 CometD/Bayeux 服务器发布的消息(用于不同的 AJAX 应用程序),我想使用它们在我的 GWT 中。

当然,我可以进入 JavaScript,连接 Dojo,并在 JavaScript 层中接收回调——然后从那里通过 JSNI 将调用路由到 GWT Java 代码中——但 GWT 中似乎没有任何直接支持使用非 RESTful RPC 以外的长推或异步调用。

你们是如何整合 GWT 和 Bayeux 的?

0 投票
1 回答
556 浏览

grails - 如何调试 Cometd / Grails 1.2.1 问题?

当我将 Cometd 插件添加到 Grails 1.2.1 时,grail 的“jetty”调试环境将不再启动。

我一直无法调试这个,对底层组件不够熟悉。(一般来说,这是 Grails 开发的一个大问题。虽然它试图对你隐藏一切,但很快你就必须成为 Hibernate、Java 1.6、jetty 等方面的专家,才能调试 grails 问题)

要重现,请启动 grails 1.2.1 项目,并安装 cometd-grails 插件。当你做一个运行应用程序时,你会看到:

0 投票
2 回答
1862 浏览

jquery - 带有 URL 和 404 错误的 Jquery 和 Cometd 问题

我正在为 cometd 服务器编写 jquery 客户端(我正在使用 jquery.cometd.js 插件),但我想不出为什么最简单的情况不起作用。

cometd 服务器位于 apache 后面(因此它在同一个域上运行),所有请求都从 uri http://wwwhost/cometd 转发

问题是当我尝试连接(通过执行握手())到cometd时,它不是直接向/cometd发送请求,而是向/cometd/handshake发送404错误。我检查了我正在测试的其他应用程序,dojo 总是连接到 /cometd,然后发送消息“握手”。

任何人都知道为什么 jquery.cometd 会这样做?

这是我可以在 apache 日志中看到的:

您可以在下面找到我正在使用的代码(它或多或少是我从示例中得到的)。

和萤火虫调试:

编辑

看起来我的服务器实现不支持 Cometd 以外的 URI。Jquery 在末尾添加消息的类型,因此在发送握手时它会将其发送到:/cometd/handshake,通常看起来像 /cometd/message_type。

我在 cometd.js 代码中找到了发送消息的函数,该函数具有三个参数:

并调用此函数,例如:

这意味着我将永远以 /cometd/handshake 结束。我必须修复服务器或注释掉 cometd.js 中的附加 url。