基于XMPP的即时通信协议介绍.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于XMPP的即时通信协议介绍   摘要:XMPP协议已经在很多领域获得了成功的应用,本文对XMPP协议的特点、架构、概念和核心功能做了介绍和分析。   关键词:即时通信;XMPP;XML   中图分类号:TP312 文献标识码:A文章编号:1007-9599 (2011) 16-0000-02   XMPP-based Real-Time Communication Protocol Introduction   Liu Wei   (Information Center of Suzhou Railway Transportation Company Ltd.,Suzhou215007,China)   Abstract:XMPP has been successfully applied in many industry fields.This article gives an introduction and analysis on the characteristics,architecture,concept and core features of XMPP.   Keywords:Real-time communication;XMPP;XML   一、XMPP协议起源   第一版XMPP技术于1998年由Jeremie Miller开发,当时名为Jabber,目的是用于可靠的在线交流,之后改名为XMPP(eXtensible Messaging and Presence Protocol)可扩展消息与状态协议,该协议以XML(eXtensible Markup Language)格式交换数据,最初专用于即时通信领域,经过十多年的发展XMPP已成为即时通信协议中最可靠最具灵活性的协议之一。   二、XMPP协议特点   XMPP协议是自由、开放和公开的,当前在客户端和服务器端有多种实现,其源代码也都是开放的。   XMPP协议是标准协议,互联网工程任务组(IETF)已将其标准化并收录到技术规范RFC 3920和RFC 3921中。   XMPP协议具备优良的可扩展性,很容易为其添加新的功能,由此使得XMPP协议在即时通信之外的领域得到了广泛的使用,包括网络管理、协同工具、远程系统监控和网络游戏等。   XMPP协议具备良好的安全性,简单认证安全层(SASL)和传输层安全(TLS)技术已内建在XMPP技术规范中。   三、XMPP架构分析   XMPP技术使用一种松散的客户端-服务器架构,有些类似于电子邮件网络服务,没有唯一的服务器负责为所有用户提供服务,而是很多的服务器都分散在不同位置,每一台服务器只为特定一批用户服务,如果位于不同服务器内的用户有通信需求,通过服务器连接模块将服务器连接起来就可以。当一处的服务器出现故障只会影响当地的用户,而不会对其他用户中断服务。   四、XMPP基本概念   首先,任何系统的使用都需要一个账号,在XMPP的世界里这个账号称作Jabber ID简称JID,JID的格式和电子邮件地址类似,例如rock@就可以是一个JID。   其次,在上面的JID中,还有一个概念就是域(Domain),比如上面的,在登陆的时候客户端就是用这个域去寻找可用的XMPP服务器而不是用IP地址。   另外,由于XMPP服务器允许同一账号重复登录,比如同时在手机和电脑上用rock@登陆服务器,这时手机的XMPP客户端软件会自动在账号后面追加一个资源名(resource)例如rock@/mobile,而电脑的XMPP客户端软件提交给服务器的全名则可能是rock@/pc,这样在不同设备的同一个账号就可以在XMPP服务器里被区分开来。形如JID/resource这种账号形式XMPP社区通常将其称为full JID,而当没有resource的时候则称为bare JID。   XMPP技术是基于XML流(XML stream)的技术,当和XMPP服务器创建会话时,需要先和服务器建立一个TCP长连接并在这个连接上给服务器发送XML流进行服务协商,在协商过程中服务器也会给客户端发送XML流来回应请求。一旦协商通过,客户端和服务器就会通过XML流和对方用以下三种XML节(XML stanza)进行数据交换:,和。   这三种XML stanza是XMPP技术的最基本语义单元,下面对它们的用途做说明。   标签用于将信息从一处通过服务器传送到另一处,常用于一对一聊天,多人聊天,通知,预警和报错,下面的例子就是用户a给用户b发送了一条“Hello”的文本消息。   message from=a@123.cn/pda    to=b@123.lit    type=cha

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档