首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xmpp Vs Websocket

Xmpp Vs Websocket
EN

Stack Overflow用户
提问于 2014-10-24 13:36:57
回答 1查看 36.2K关注 0票数 114

我即将开发一个网站,有近实时聊天。我知道它可以使用xmpp或websocket协议来实现。我也知道xmpp协议是在1999年开发的,我想现在的.On应该已经成熟了。另一方面,websocket协议是在2011年开发的。

  1. 如果xmpp能够很好地处理实时会话,那么websocket有什么必要呢?
  2. 这两项协议的主要区别是什么?
  3. 我什么时候应该选择其中之一而不是另一个?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-25 09:09:07

简短的回答是“两者兼而有之”。

XMPP是一组用于进行实时聊天(以及其他许多事情)的应用程序协议--然后它必须通过网络传输,所以您需要一个传输绑定。XMPP有三个主要的传输绑定-

  1. TCP/IP,这是通常在Internet上使用的本地客户机在设备上使用的内容。
  2. HTTP (称为BOSH),这是在浏览器中使用XMPP时传统上使用的方法(因为浏览器中的Javascript应用程序无法使用TCP-IP )。
  3. Websockets,它是在现代浏览器中执行XMPP时使用的一种。

因此,如果您在浏览器中开发聊天应用程序,您将选择XMPP作为应用程序协议,并使用websockets (在现代浏览器中)或BOSH (在较早的浏览器中)作为网络传输。如果您对Stanza.io (https://github.com/otalk/stanza.io)这样的Javascript使用XMPP库,那么它将支持这两种方式,您只需要考虑'XMPP‘而不是传输层,而不是在安装时告诉它要连接到哪个端点。

(你不能用“仅仅是websockets”来聊天-你可以不用XMPP使用websockets,但这实际上意味着您正在为聊天发明自己的应用层协议,通过利用已经开始编写具有有用属性(安全性、身份、可扩展性等)的工作,可以节省大量的时间和麻烦。)它有现有的库和服务器,取而代之的是XMPP。

票数 164
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26549010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档