内容简介:我想编写一个实时聊天应用程序,并需要决定使用哪些技术.这些技术之间有什么区别,您更喜欢哪种?为什么?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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
写给大家看的设计书(第3版)
[美] Robin Williams / 苏金国、刘亮 / 人民邮电出版社 / 2009-1 / 49.00元
这本书出自一位世界级设计师之手。复杂的设计原理在书中凝炼为亲密性、对齐、重复和对比4 个基本原则。作者以其简洁明快的风格,将优秀设计所必须遵循的这4 个基本原则及其背后的原理通俗易懂地展现在读者面前。本书包含大量的示例,让你了解怎样才能按照自己的方式设计出美观且内容丰富的产品。 此书适用于各行各业需要从事设计工作的读者,也适用于有经验的设计人员。一起来看看 《写给大家看的设计书(第3版)》 这本书的介绍吧!