netty和彗星有什么关系吗?

时间:2012-02-24 16:13:21

标签: java comet netty

有点困惑, netty 彗星如何相关或者它们是否分开并且它们以某种方式协同工作?

我已经阅读了一些关于使用 netty comet 来构建实时应用程序的一些内容,并且混淆了它们如何协同工作。

2 个答案:

答案 0 :(得分:2)

据我所知,Netty是一个框架/库,而Comet是一个概念(一种单向的websockets,正如Chad所说,是一种“反向ajax”)。

答案 1 :(得分:1)

Cometd是Bayeux协议的实现(http://svn.cometd.com/trunk/bayeux/bayeux.html)。该协议有多个实现,其中cometd可能是最受欢迎的。

Bayeux实现的重点在于它允许服务器通过HTTP进行异步消息传递,其中包括难以捉摸的“服务器推送”。而不是客户端每次(例如5秒)轮询服务器进行更新,服务器可以在客户端进行更新时“调用”客户端。

它使用Long Polling技术。实质上,HTTP连接在客户端和服务器之间保持打开状态。当服务器最终有“告诉”客户端时,它会响应打开的连接。连接或“长轮询”立即重新建立。为了防止HTTP超时,可以在不同的时间段内自动重新建立连接。

我不确定Netty和Cometd之间的关系是什么,或者是否存在。我怀疑Netty在实现Bayeux协议时非常有用(文档似乎暗示了这一点),因为Bayeux协议和扩展的一个弱点是必须处理的开放HTTP连接的绝对数量。如果它们阻塞,则会出现问题,因为线程太多。

相关问题