内容简介:我想编写一个实时聊天应用程序,并需要决定使用哪些技术.这些技术之间有什么区别,您更喜欢哪种?为什么?WebSockets不是一个选项,因为它还没有准备好在野外战斗
我想编写一个实时聊天应用程序,并需要决定使用哪些技术.
这些技术之间有什么区别,您更喜欢哪种?为什么?
WebSockets不是一个选项,因为它还没有准备好在野外战斗
谢谢
提供了一个很棒的答案,我相信它会解决你对WebSockets的担忧. WebSocket绝对“准备好在野外战斗”.
在我看来,BOSH和Comet是一回事. BOSH代表“同步HTTP上的双向流”,尽管 BOSH specification 声明:
BOSH, the technology defined in this specification, essentially provides a “drop-in” alternative to a long-lived, bidirectional TCP connection. It is a mature, full-featured technology that has been widely implemented and deployed since 2004. To our knowledge it was the first of many similar technologies, which now include the Comet methodology formalized in the Bayeux Protocol as well as The Web Socket Protocol and Reverse HTTP.
我知道彗星服务器至少从2001年开始就存在这个事实,因为我曾经在一家公司( Caplin Systems )工作过,现在有一台Comet服务器.
我之所以说它们在基本层面是相同的,是因为它们最初(见下文)都依赖于两个HTTP连接.第一个是反向通道,它是长期持有的HTTP Streaming连接或用于HTTP Long-Polling.第二个连接是短暂的,用于发送订阅请求等命令.这两个连接允许模拟双向通信.
因此,在基本层面上,BOSH和Comet使用相同的服务器到客户端和客户端到服务器通信的机制(客户端是Web浏览器或其他支持的Web客户端). BOSH的不同之处在于它在协议中提供了更多细节,并在开发时考虑了XMPP.可以开发任何Comet服务器以符合BOSH规范中定义的标准.
所有这些说,Comet和BOSH服务器无疑将提供替代传输机制.这些将包括HTTP Streaming,HTTP长轮询,标准HTTP轮询和WebSockets.
因此,如果您想要BOSH和XMPP提供的详细信息,那么您可能需要考虑使用BOSH和XMPP构建的技术堆栈.如果你想发送简单的消息,没有BOSH和XMPP固有的额外负载,或者如果你想为自己的协议构建自己的“附加值”,那么标记为Comet服务器的东西可能是更好的解决方案.
如果您选择使用现有的技术堆栈,而不是从头开始开发解决方案,那么解决方案很可能会使用WebSockets,因为它们提供了标准化且高效的双向通信机制.
我已经第一次尝试了实时Web技术堆栈图,您可以在下面看到.希望它有点帮助:
翻译自:https://stackoverflow.com/questions/7327153/xmpp-bosh-vs-comet
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
系统分析与设计方法
惠滕 / 孙慧、肖刚 / 机械工业出版社 / 2004-9 / 69.00元
本书是介绍信息系统分析和设计原理、方法、技术、工具和应用的力作,自问世以来,广受欢迎,以至于一版再版,延续至今。 本书采用一个完整的案例研究,以整个信息系统构件(基于Zachman框架)和信息系统开发生命周期(FAST方法学)为主线,详细探讨了系统开发生命周期的前期、中期和后期以及跨生命周期的活动。另外,书中第一章都提供了大量的练习题、讨论题、研究题和小型案例,以加深读者对书中所述理论的实际应用和......一起来看看 《系统分析与设计方法》 这本书的介绍吧!