读书人

XMPP简介(2)

发布时间: 2013-02-18 10:50:49 作者: rapoo

XMPP简介(二)

版权所有,转载请注明出处:http://guangboo.org/2013/01/31/xmpp-introduction-2

实现

XMPP已有大量实现,包括客户端,服务端,类库等,分别依赖于各有许可证。

部署

大量公共的IM服务都使采用XMPP协议的,如Google Talk, Facebook chat, LiveJournal的LJ Talk,Nimbuzz, Ovi(诺基亚)等。很多主机托管提供商,如Dreamhost, GMX等也随传统的web和email服务之后,也为客户提供XMPP的支持。针对XMPP的托管服务也已出现,至此,域名持有者就不在直接运行独自的XMPP服务,包括WebEx, Chrome.pl, Flosoft.biz, i-pobox.net, 和hosted.im等。

XMPP同样可用于非IM服务,包括智能网络系统,如需求响应式应用,消息中间件,及大部分手机客户端提供的SMS短信功能的替代方案等。

扩展

XMPP标准基金会或XSF(前身是Jabber软件基金会)正负责开发的XMPP扩展的开发,但任何个人,软件项目或组织也都可以对XMPP进行扩展。如,Google已经开发了大量非XSF的扩展,用于Google Talk和Google+(如Google视频群聊)等。另外一个例子是Apache Wave的federation protocol协议,也是基于XMPP开发的。

竞争

XMPP通常被视为基于SIP协议的SIMPLE的竞争对手,SIP也是即时消息和出席信息的标准协议。

XMPP多用户聊天扩展还是IRC的竞争对手,尽管与IRC比起来,前者使用还不是很广泛。

同样,XMPP的发布-订阅扩展作为高级消息队列协议,提供了很多特性。

连接其他协议

XMPP简介(2)早期Jabber开源社区设计的最初目标之一,就是让用户能通过一个客户端连接多种即时消息服务器(特别是非XMPP服务器)。不仅可以通过将称为传输或网关的实体传到其他即时消息协议,还可以传到如SMS或email等协

议。与多协议客户端不同,XMPP是在服务器级别提供该访问能力,它通过与XMPP服务一同运行的特定网关来进行通讯。任何人只要提供登录这些网络的必要信息,都可以通过网关进行“注册”,并与网络内用于进行通讯,尽管他们是XMPP用户,那么,这些网关起到了客户端代理的功能(对非XMPP服务来说,网关可充当验证用户的功能)。因此,任何完全支持XMPP的客户端都可以通过网关,而不需要额外的代码,也不需要直接访问互联网,就可以访问任何网络。但是,客户端代理模式可能违反协议使用的服务条款(尽管这些服务条款在一些国家并不具有法律强制性),并且还要求用户将IM的用户名和密码发送到第三方站点(可能引起隐私和安全问题)。

另一种网关类型时服务-服务的,它使用XMPP的域间联合特性,使非XMPP服务连接其他原生的XMPP服务。这样的服务-服务的网关已有一些企业级的IM软件生产商提供,包括:

IBM Lotus SametimeMicrosoft Lync Server(前身为Microsoft Office Communications Server-OCS)。开发IETF XMPP工作小组已开发出多个RFC协议文档:RFC3920(被RFC6120取代), RFC3921(被RFC6121取代),RFC3922, RFC3923, RFC4622, RFC4854, RFC4979和RFC6122。最重要也是使用最广泛的规范有:RFC6120:XMPP核心协议,描述客户端-服务端使用XML流进行消息交互,XML流由<presence/>,<message />,<iq />(info/query)组成,使用SASL进行验证,使用TLS进行传输加密。RFC6121:即时消息和出席信息的描述,这是最常见的XMPP应用。RFC6122:描述了XMPP地址格式,也称为JabberID或JID,目前JID使用Stringprep(RFC3454定义)来处理超出ASCII码范围的Unicode字符,这个在将来会被IETF PRECIS工作小组的开发的技术替代。XMPP标准基金会(XSF)基于XMPP扩展协议(XEP,以前称为Jabber改进建议---JEP),通过标准流程开发和发布XMPP的扩展。广泛应用的扩展有:数据表单—ata Forms)服务发现(Servce Discovery)群聊(Multi-User Chat)发布-订阅与个人事件协议(Publish-Subscribe and Presonal Eventing Protocol)XHTML格式支持(XHTML-IM)文件传输(File Transfer)实体能力(Entity Capabilities)HTTP绑定(HTTP Binding)视频语音(Jingle for voice and video)扩展阅读(英文)Comparison of instant messaging clientsComparison of instant messaging protocolsComparison of XMPP server softwareSecure communicationSIMPLE 参考(英文)
    ^Greater NOrdic MIddleware Symposium (GNOMIS). Oslo: University of Stockholm^^^^Linux Journal March 1, 2003 by Marcel Gagné
  1. ^^^^^^^^^^^a b ^^^^a b a b ^^^^^^^^^XEP-0115: Entity Capabilities
原文地址:http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol

读书人网 >互联网

热点推荐