2 XMPP协议以及WPF简介
2。1 目前IM(即时通讯)的主流协议
(1)即时信息和空间协议(IMPP)
该协议可实现在Internet上发送即时并且较为简短的文本信息[9],通过这种方式发送的消息不需要存储,能够直接到达指定的信息接收方,然而前提是发送方和接收方必须同时在线。因此该协议需要提供两种业务:在线检测(对表示用户在线状态的在线检测信息的接收、存储和分发)和IM(即时通讯)业务。
(2)针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)[10]
SIMPLE协议由IETF组织制定,是一种标准化协议,在SIP协议针对即时消息业务的基础上做出了扩展,其中包含两种信息传递机制,分别为呼叫模式和会话模式。该协议是目前为止制定的较为完善的协议之一。然而在SIMPLE协议的呼叫模式中,用户之间交互的即时消息是被放在信令消息MESSAGE的消息体当中来传输的,因此信令流和媒体流有着相同的流通路径。这种简单的消息传输机制不会触发SIP会话,当用户之间消息的传输较少时可以适用。然而用户之间的即时消息传输量较大,其他信令消息的传输可能会因此受到影响。
(3)可扩展通讯和表示协议(XMPP)
在当前三种主流协议中,XMPP是灵活性最高的协议。XMPP包含了针对服务器端的软件协议,实现了两客户端之间的互相通信,开发者因此得以较为容易的建立客户端应用程序[11]。XMPP由Jabber软件基金会开发,最早在Jabber上实现。基于XML架构,XMPP是一种开放式协议,在IM通讯中的应用十分广泛,已经被互联网工程任务组(IETF)所承认。但是,由于XML数据存在过于透明的缺陷,在使用XMPP的过程中的安全性问题需要程序员重点关注。来-自+优Y尔E论L文W网www.youerw.com 加QQ752018^766
2。2 XMPP技术
2。2。1 XMPP简介
XMPP协议,全称为Extensible Message and Presence Protocol,是一种用于构建即时通讯系统的基于XML的协议,该协议由Jabber开源社区所开发[12]。XMPP可以提供如下的核心服务:
(1)通道加密:在RFC3920中定义的该项服务实现了对于客户端以及服务器端之间或客户端与客户端之间连接的加密。
(2)认证:定义于RFC3920的该项服务是安全应用扩展的另外一部分。认证功能确保了实体用户在企图通过网络进行通讯时需要首先经过服务器的认证。
(3)联系人列表:在RFC3921中定义的该项服务确保了用户可以在XMPP服务器上存储自己的好友列表。任何在服务器上注册的账户都可以使用这项功能去存储自己的好友列表(包括设备)。
(4)一对一通信:定义于RFC3920的该项功能允许客户端之间互相传递即时消息(IM)。信息可以是任意的XML流。联网的任意两个客户端之间都可以传递消息,这些XMPP实体可能是设备,服务器等。
(5)结构化数据:在XEP-0004中定义的该项服务使得客户端之间以结构化但是更加灵活的形式传递消息,这种信息传递方式与HTML的形式类似。通常适用于需要从其他实体上收集特定信息的工作。
2。2。2 XML流
XMPP本质上可以说是XML流的技术[13]。当用户希望通过XMPP服务器开始一段会话时,用户会打开时间较长的TCP[14]连接并向服务器发送一段XML流,与此同时服务器也会返回一段数据流。XML数据流会随着连接时间的增长而增加。一旦客户与服务器之间进行了数据流的交换,客户与服务器之间就可以交换三种基于XML流的特殊片段:<message/>,<presence/>,<iq/>,这些叫做XML节,是XMPP信息传输的基本单位[15]。只要与服务器进行了连接,客户端可以通过XML流发送大量的XML节。 XMPP多点监测尘埃粒子计数器通讯设计(3):http://www.youerw.com/tongxin/lunwen_140213.html