问题标签 [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 投票
1 回答
199 浏览

ajax - 我可以将 Orbited 用作动态内容的 HTTP 服务器吗?

Comet Server Orbited 可以从[static]部分下的配置文件中指定的路径提供静态文件。我想知道是否可以通过轨道提供动态内容?

0 投票
4 回答
6170 浏览

javascript - 在页面正文中保持 jQuery .getJSON() 连接打开并等待?

我正在编写一个基本的推送消息系统。一个小的变化导致它停止正常工作。让我解释。在我的原始版本中,我能够将代码放入文档中,如下所示:

这工作得很好,即使服务器返回 null(它会在 2 分钟超时之后)也会保持连接打开。它只会无限期地一遍又一遍地调用 getJSON 函数。快乐的熊猫。

现在,我必须将代码段放在标签之间。访问 $(document).ready() 函数几乎是行不通的。

这工作......一段时间。此后不久,它将停止调用 check4Updates 并进入无限循环并使用 100% 的处理器时间。

我正在尝试获取它,以便重复调用 check4Updates 直到页面关闭。如果有人对为什么我的简单更改不再按预期运行有任何见解,请告诉我。感谢您花时间阅读并帮助我。

最好的问候,范阮

0 投票
4 回答
3209 浏览

ajax - 没有 Comet 的反向 Ajax?

是否可以让 Web 服务器在没有 Comet 的情况下向 Web 浏览器发送消息?

像 Facebook 和谷歌这样的主要网络公司都为此目的使用 Comet,如果为主要浏览器启用 tcp 连接,这似乎是一个等待消失的丑陋黑客。

0 投票
1 回答
2508 浏览

servlets - JETTY COMET 实施或 Resin COMET 实施哪个更好

我们一直在使用 JETTY 的暂停 servlet 实现来使用 JSON 消息和 XStream 来滚动我们自己的 COMET Web 应用程序。

有没有人有 Resin 实施 COMET 的经验以及他们如何比较?

也比 COMET 更普遍的是,没有人对最好的 Java Suspended servlet 3.0 实现提出建议。

以下是一些资源:

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 投票
5 回答
192 浏览

ajax - 为什么浏览器不让您打开常规连接而不是 Ajax 或 Comet?

如果要在浏览器和服务器之间打开双向连接,唯一的选择是轮询(锤击服务器),或者使用彗星(粗鲁且容易断开连接)。

为什么浏览器不让你打开一个普通的 TCP 连接?没有这种能力有什么实际好处吗?

0 投票
3 回答
2430 浏览

ajax - 高级聊天网络应用

我希望实现类似于 facebook/gmail 聊天的东西。我知道他们使用 comet & jabber 作为他们的技术。但是我对几件事感到困惑。

  1. 我真的需要jabber吗?我可以使用一个简单的 mysql 表来代替 from、to、message、send 和 recd 吗?使用mysql有没有效率低下的地方?有没有性能损失?

  2. 可以使用常规网络服务器实现彗星吗?我需要一些特殊的服务器吗?AFAIK,apache+php 无法处理太多打开的连接?我应该使用简单的轮询,这会对我的系统产生不利影响吗?我可以在普通虚拟主机上开箱即用地使用什么?(因为如果我出售聊天应用程序,它应该适用于大多数人。)

  3. 哪个是(目前)实施彗星的最佳方式?无限 iframe 是个好主意吗?一段时间后不会php超时吗?它会是一个跨浏览器解决方案还是我必须写一些丑陋的黑客?这会导致服务器负载吗?gmail 和 facebook 使用什么来实现永久连接?

0 投票
3 回答
751 浏览

javascript - 为网页实现类似“服务器推送”的行为的最简单方法是什么?

我正在尝试为我的 Django 网站制作一个非常简单的 2 人聊天室。我正在学习 AJAX 来做到这一点。我需要部分网页在没有用户交互的情况下更新:

  • 当用户 1 发送消息时,它应该出现在用户 2 的屏幕上
  • 当用户 1 注销时,他的状态应在用户 2 的屏幕上更改为“离线”

实现这一点的最简单方法是什么?是否只是使用 JavaScript 定期轮询服务器?如果是这样,这样做的最佳做法是什么?我找到了一些关于使用 setInterval 或 setTimeout 的解决方案,但不确定这是否是最好的方法。

(我读过关于反向 AJAX 的文章,但从我读到的内容来看,这实现起来更复杂。我不需要我的解决方案快速或可扩展;我只需要它工作。)

0 投票
2 回答
1888 浏览

javascript - COMET 相对于长请求轮询的优势?

我一直想知道使用 COMET / push-technologies 是否有真正的优势,而不是更简单的长请求轮询,在这种情况下,服务器将等待某个最长时间让新事件发生,然后再告诉客户端什么都没有发生。

两种技术都有相似的客户端延迟,虽然普遍的看法是长请求更糟糕,因为它们需要建立一个新的连接,还有一个事实是 HTTP 保持活动 - 所以最后,两者似乎都产生了非常相似的流量/负载量。

那么使用 COMET 有什么明显的优势吗?

0 投票
3 回答
2771 浏览

c# - 使用 .NET 创建 100,000 个 tcp 连接

我正在用 C# 编写一个小彗星服务器,为了测试它,我编写了一个小程序,它打开一堆连接,向每个连接写入一点文本,然后关闭每个连接:

我现在使用的是 Windows XP,它只分配从 1025 到 5000 范围的动态客户端端口,所以我添加了从 30000 开始的端口的显式绑定。这使我从 4000 以下的连接数增加到了 16000 多一点,但是现在我在 Socket.Connect 上收到以下异常:

“由于系统缺少足够的缓冲区空间或队列已满 127.0.0.1:1999,因此无法对套接字执行操作”

有什么想法吗?更改发送和接收缓冲区大小似乎没有任何区别,而且似乎总是我的客户端应用程序坏了,而不是我的服务器。我意识到在达到 100,000 个连接之前我将用完客户端端口,但我仍然想更好地了解发生了什么。