`
bcyy
  • 浏览: 1818212 次
文章分类
社区版块
存档分类
最新评论

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的发布-订阅扩展作为高级消息队列协议,提供了很多特性。

连接其他协议

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

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

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

  • IBM Lotus Sametime
  • Microsoft 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的扩展。广泛应用的扩展有:
  • 数据表单(Data 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)

扩展阅读(英文)

参考(英文)

  1. ^Johansson, Leif (April 18, 2005)."XMPP as MOM".Greater NOrdic MIddleware Symposium (GNOMIS). Oslo: University of Stockholm.http://www.gnomis.org/presentasjoner/oslo2005/xmpp.pdf
  1. ^"Jabber Inc". Cisco.com.http://www.cisco.com/web/about/ac49/ac0/ac1/ac258/JabberInc.html. Retrieved 2012-11-24.
  2. ^"Jabber Instant Messaging User Base Surpasses ICQ"(Press release).XMPP Standards Foundation. September 22, 2003.http://xmpp.org/xsf/press/2003-09-22.shtml. Retrieved November 30, 2007.
  3. ^"Open Real Time Messaging System". Tech.slashdot.org. 1999-01-04.http://tech.slashdot.org/article.pl?sid=99/01/04/1621211. Retrieved 2012-11-24.
  4. ^Chatting Up the ChefLinux JournalMarch 1, 2003 by Marcel Gagné
  5. ^"Jabber.org – XMPP Server Migration". August 12, 2009.http://www.jabber.org/2009/08/xmpp-server-migration/. Retrieved December 14, 2009.
  6. ^Burd, Gary (January 17, 2006)."XMPP Federation".http://googletalk.blogspot.com/2006/01/xmpp-federation.html. Retrieved November 30, 2007.
  7. ^Florian Jensen (2008-01-17)."AOL adopting XMPP aka Jabber".Archivedfrom the original on 20 January 2008.http://florianjensen.com/2008/01/17/aol-adopting-xmpp-aka-jabber/. Retrieved 2008-01-17.
  8. ^"AOL XMPP Gateway". 2011-05-14.Archivedfrom the original on 22 May 2011.http://www.aim.com/xmpp. Retrieved 2011-05-14.
  9. ^"Cisco Announces Definitive Agreement to Acquire Jabber".http://newsroom.cisco.com/dlls/2008/corp_091908.html. Retrieved January 2, 2010.
  10. ^"Facebook Chat Now Available Everywhere".http://blog.facebook.com/blog.php?post=297991732130. Retrieved February 11, 2010.
  11. ^"Facebook Chat API".http://developers.facebook.com/docs/chat/. Retrieved November 29, 2011.
  12. ^Dare Obasanjo (2011-12-14)."Anyone can build a Messenger client—with open standards access via XMPP". Windowsteamblog.com.http://windowsteamblog.com/windows_live/b/windowslive/archive/2011/12/14/anyone-can-build-a-windows-live-messenger-client-with-open-standards-access-via-xmpp.aspx. Retrieved 2012-11-24.
  13. ^Janko Roettgers (2011-06-28)."Skype adds XMPP support, IM interoperability next? — Tech News and Analysis". Gigaom.com.http://gigaom.com/2011/06/28/skype-xmpp-support/. Retrieved 2012-11-24.
  14. ^RFC 6122
  15. ^Joe Hildebrand, Craig Kaes, David Waite (2009-06-03)."XEP-0025: Jabber HTTP Polling". Xmpp.org.http://xmpp.org/extensions/xep-0025.html. Retrieved 2012-11-24.
  16. ^abIan Paterson, Dave Smith, Peter Saint-Andre, Jack Moffitt (2010-07-02)."XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH)". Xmpp.org.http://xmpp.org/extensions/xep-0124.html. Retrieved 2012-11-24.
  17. ^"Question FAQ #270-What is LJ Talk?". Livejournal.com. 2010-09-27.http://www.livejournal.com/support/faqbrowse.bml?faqid=270. Retrieved 2012-11-24.
  18. ^"Google Wave Federation Protocol". Google.http://www.waveprotocol.org/draft-protocol-specs/draft-protocol-spec#intro-overview.
  19. ^"XMPP rises to face SIMPLE standard", Infoworld magazine, April 17, 2003XMPP rises to face SIMPLE standard
  20. ^"XMPP vs SIMPLE: The race for messaging standards", Infoworld magazine, May 23, 2003Infoworld.com
  21. ^abXEP-0045: Multi-User Chat
  22. ^abXEP-0060: Publish-Subscribe
  23. ^"Lotus Sametime 7.5 Interoperates with AIM, Google Talk", eWeek, December 6, 2006Eweek.com
  24. ^"Lotus ships gateway to integrate IM with AOL, Yahoo, Google", Network World, December 6, 2006Networkworld.com
  25. ^"Unified Communications: Uniting Communication Across Different Networks", Microsoft Press Release, October 1, 2009Microsoft.com
  26. ^XEP-0004: Data Forms
  27. ^XEP-0030: Service Discovery
  28. ^XEP-0163: Personal Eventing Protocol
  29. ^XEP-0071: XHTML-IM
  30. ^XEP-0096: File Transfer
  31. ^XEP-0115: Entity Capabilities
分享到:
评论

相关推荐

    xmpp简介及openfire使用手册

    浅显易懂地介绍xmpp与openfire开源项目的使用

    XMPP协议简介

    XMPP协议简介

    xmpp协议介绍,XMPP体系架构

    XMPP体系架构 XMPP server:其内核是一个XMPP路由器,完成基本组件间的数据包交换和路由。 功能: 1.会话管理器:负责客户端会话认证,在线状态,用户联系表等 2.数据存储器(XDB):连接数据库系统,保持用户信息、...

    xmpp协议说明ppt

    xmpp协议介绍PPT,详细介绍了XMPP核心协议方方面面

    android的XMPP客户端

    android的XMPP客户端

    xmpp协议和xmpp扩展协议

    xmpp协议和xmpp扩展协议,chm格式

    Android资料_XMPP

    基于XMPP的多方通信系统研究与实现.pdf 基于XMPP的P2P即时通信系统的研究及实现.kdh 基于SIMPLE和XMPP协议的移动IM研究.pdf XMPP研究与应用.pdf XMPP协议研究及其在IM系统群组通信中的应用.pdf XMPP协议分析及客户端...

    xmpp framework

    XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址...

    XMPP协议分析-原理篇.pdf

    XMPP协议分析,xmpp是即时通讯IM中比较普遍的应用

    Practical.XMPP.1785287982

    Learn about the fundamentals of XMPP and be able to work with the core functionality both server-side and in the browser Build a simple 1-to-1 chat (the "Hello World" of XMPP), explore multi-user chat...

    erlang分布式 XMPP Server.ppt

    erlang分布式 XMPP Seerlang分布式 XMPP Serverrvererlang分布式 XMPP Servererlang分布式 XMPP Server

    XMPP_协议介绍

    关于XMPP协议的说明及介绍,XMPP体系结构的组成,XMPP原理等的说明

    xmpp即时通讯

    xmpp

    XMPP协议中文参考指南

    XMPP的核心功能定义在Extensible Messaging and Presence Protocol (XMPP): Core [XMPP-CORE|XMPP文档列表/XMPP正式RFC标准/RFC3920]. 这些功能 -- 主要是 XML流, 使用 TLS和SASL,以及流的根元素之下的, , 和 &lt;iq/&gt; ...

    XMPP_API.chm

    xmpp api文档

    xmpp客户端源代码

    xmpp客户端源代码

    ios xmpp demo

    ios xmpp demo

    QT xmpp client 仿照 psi

    QT xmpp client 仿照 psi

    XMPP JINGLE Jar包

    XMPP JINGLE Jar包 可以实现语音聊天功能

Global site tag (gtag.js) - Google Analytics