XMPP高级编程——使用JavaScript和jQuery

XMPP高级编程——使用JavaScript和jQuery

ID:34023502

大小:439.69 KB

页数:17页

时间:2019-03-03

XMPP高级编程——使用JavaScript和jQuery_第1页
XMPP高级编程——使用JavaScript和jQuery_第2页
XMPP高级编程——使用JavaScript和jQuery_第3页
XMPP高级编程——使用JavaScript和jQuery_第4页
XMPP高级编程——使用JavaScript和jQuery_第5页
资源描述:

《XMPP高级编程——使用JavaScript和jQuery》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、1第章了解XMPP协议本章内容●XMPP历史●XMPP网络和连接●XMPP的三种构造块节从最基本的层次来说,XMPP(eXtensibleMessagingandPresenceProtocol,可扩展消息处理和现场协议)是一种用来在两个地点之间传递小型的结构化数据段的协议。在此基础上,XMPP已被用来构建大规模即时通信系统、Internet游戏平台、搜索引擎、协作空间以及语音和视频会议系统。每天都会出现更独特的应用程序,这进一步说明了XMPP协议功能是如此多样和强大。XMPP由几个小的构造块组成,并

2、已经在这些原语的基础之上构建了许多更大的构造。在XMPP中有众多系统:构建发布-订阅服务、多人聊天、表单检索和处理、服务发现、实时数据传输、隐私控制以及远程过程调用。XMPP程序员通常会创建自己的、独特的、完全为手头上问题量身定做的构造。大多数社交媒体构造(它们已经将网站(比如Facebook、MySpace和Twitter)推向最前端)也都采用XMPP协议。在XMPP内部,可以找到由联系人组成的花名册,可以用它们来创建定向或无向社交图。当联系人上线或下线时自动发送出席通知,而个人消息和公共消息是XM

3、PP系统的基础应用。有时候开发人员之所以选择XMPP作为底层技术层只是因为它已经为开发人员提供了许多现成的社交功能,他们只需要关注自己的应用程序的一些独特方面即可。XMPP为我们带来了无限的可能,但在开始之前,我们还需要了解XMPP的各种组成部分以及它们如何有机地构成一个整体。1.1什么是XMPP与所有协议一样,XMPP定义了在两个或更多通信实体之间传递数据所采用的格式。对于XMPP,实体通常是客户端和服务器,但它也允许两台服务器或两个客户端之间进行对等通信。Internet上有许多XMPP服务器,彼

4、此之间能够相互访问,从而构成了一个由互联系统组成的第Ⅰ部分XMPP协议和架构联合网络。在XMPP上交换的是XML数据,这让通信具有丰富的、可扩展的结构。为了获得更具人类可读性(因此更易于调试)这项更实用的功能,许多现代协议都放弃了二进制编码带来的带宽节省的优势。XMPP选择使用XML,这意味着,它能够充分利用大量与处理XML有关的知识和支持软件。XMPP通过使用XML而获得的一项主要功能就是XML的可扩展性。向XMPP协议中添加能同时保持向前和向后兼容的新功能是一件极其简单的事情。在已向XMPPSta

5、ndardsFoundation注册的200个协议扩展中,这种可扩展性得到了大量运用,它为开发人员提供了丰富的、实际上没有限制的工具。XML主要以文档格式闻名,但在XMPP中,XML数据被组织成一对流,每个流分别用于通信的一个方向。每个XML流均由一个开始元素、后跟XMPP节和其他顶级元素、然后是一个结束元素组成。每个XMPP节(可带有子元素和属性)均是该流的一级子元素。在XMPP连接末尾,这两个流形成了一对有效的XML文档。XMPP节构成了该协议的核心部分,而XMPP应用程序则关注如何发送和响应各种

6、类型的节。节可能包含网络上其他实体的信息、类似于电子邮件的个人消息或为计算机处理而设计的结构化通信数据。下面给出了一个示例节。Whatthinkyouofbooks?在一个典型的客户端-服务器XMPP会话中,一个与此类似的由Elizabeth发给Darcy的节将从Elizabeth的客户端传送到她的

7、服务器。她的服务器将注意到该节的目的地是某个远程服务器上的一个实体,因此它与该远程服务器建立XMPP连接,并将该消息转发到该处。服务器之间的通信与电子邮件网络类似,但与电子邮件服务器不同的是,XMPP服务器之间总是能够直接通信,而不需要借助中间服务器。这种直接通信省去了垃圾消息和未经授权消息的常见传播媒介。这也是众多XMPP安全设计中的一环。它还支持通信端点之间通过使用TLS(TransportLayerSecurity,传输层安全)来加密通信并通过SASL(SimpleAuthenticationa

8、ndSecurityLayers,简单身份验证和安全层)实现强有力的身份验证机制。XMPP是为交换短小信息片段而设计的,而不是针对大型二进制数据块。但XMPP能够用来协商并建立可在端点之间传递大型数据块的带外或带内传输。对于这种传送而言,XMPP相当于信令层。由于专注于小型结构化数据块,XMPP协议的延迟极短,这使得它极其适用于实时应用程序。在开发人员试验实时Web时,这些应用程序(包括协作空间、游戏以及同步)正驱动着XMPP变得越来越流行。我们将从本书

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。