我对彗星实施有疑问。我知道它用于处理类似于现在可以通过Servlet 3.0异步功能实现的异步请求。然而,我不明白的是如何对主叫客户进行推送。
在Web套接字中,我们通过提供ip和端口来打开连接。对于彗星,当服务器推送数据时,如何连接服务器以接收回叫?
答案 0 :(得分:1)
Comet (programming)上的维基百科页面是这个问题的一个非常好的资源(对不起,这很明显)。
Comet是使用HTTP模拟客户端和服务器之间的双向连接的总称。最终,您向服务器发出HTTP请求并尝试将其保持打开状态(长轮询和流式传输)。使用长轮询,连接在给定间隔后或数据返回时关闭。通过流式传输,可以尽可能地帮助打开连接,并通过现有连接发送新数据。
如何实现这些目标在网络浏览器之间有所不同 - 这就是为什么Comet被归类为黑客攻击。同样,维基百科页面应该提供您需要的几乎所有信息。
我写了一篇文章,内容涉及实时网络传播的历史(主要关注客户端)以及为什么WebSockets are a game-changer。