﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-赢在执行-文章分类-XMPP</title><link>http://www.blogjava.net/Jiangzy/category/18851.html</link><description>这个世界上只有两样东西愈分享愈多,那就是智慧与爱。</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 06:46:46 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 06:46:46 GMT</pubDate><ttl>60</ttl><item><title>XMPP初解 </title><link>http://www.blogjava.net/Jiangzy/articles/91137.html</link><dc:creator>飛雪(leo)</dc:creator><author>飛雪(leo)</author><pubDate>Sun, 31 Dec 2006 05:17:00 GMT</pubDate><guid>http://www.blogjava.net/Jiangzy/articles/91137.html</guid><wfw:comment>http://www.blogjava.net/Jiangzy/comments/91137.html</wfw:comment><comments>http://www.blogjava.net/Jiangzy/articles/91137.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Jiangzy/comments/commentRss/91137.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Jiangzy/services/trackbacks/91137.html</trackback:ping><description><![CDATA[
		<p>  1、什么是XMPP ？<br />XMPP：即Extensible Messaging and Presence Protocol，其前身是Jabber，一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分； <br />核心的XML流传输协议 <br />基于XML流传输的即时通讯扩展应用 <br />XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上。借助于XML易于解析和阅读的特性，使得XMPP的协议能够非常漂亮。 <br />XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的，与其他业已得到广泛使用的即时通讯协议，诸如AIM，QQ等有功能完整，完善等先进性。 </p>
		<p>2、XMPP的基本网络结构是怎样的？ <br />XMPP中定义了三个角色，客户端，服务器，网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录，连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通，异构系统可以包括SMS（短信），MSN，ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器，然后在之上传输XML。 </p>
		<p>3、XMPP通过TCP传什么了？ <br />传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送（比如QQ），要么用纯文本指令加空格加参数加换行苻的方式发送（比如MSN）。而XMPP传输的即时通讯指令的逻辑与以往相仿，只是协议的形式变成了XML格式的纯文本。这不但使得解析容易了，人也容易阅读了，方便了开发和查错。而XMPP的核心部分就是一个在网络上分片断发送XML的流协议。这个流协议是XMPP的即时通讯指令的传递基础，也是一个非常重要的可以被进一步利用的网络基础协议。所以可以说，XMPP用TCP传的是XML流。 </p>
		<p>4、举个例子看看所谓的XML流是什么样子的？ <br />客户端：&lt;?xml version='1.0'?&gt; <br />       &lt;stream:stream <br />       to='example.com' <br />       xmlns='jabber:client' <br />       xmlns:stream='http://etherx.jabber.org/streams' <br />       version='1.0'&gt; <br />服务器：&lt;?xml version='1.0'?&gt; <br />       &lt;stream:stream <br />       from='example.com' <br />       id='someid' <br />       xmlns='jabber:client' <br />       xmlns:stream='http://etherx.jabber.org/streams' <br />       version='1.0'&gt; <br />...其他通信... <br />客户端：&lt;message <a href="mailto:from='juliet@example.com'">from='juliet@example.com'</a><br />              <a href="mailto:to='romeo@example.net'">to='romeo@example.net'</a><br />              xml:lang='en'&gt; <br />客户端： &lt;body&gt;Art thou not Romeo, and a Montague?&lt;/body&gt; <br />客户端： &lt;/message&gt; <br />服务器： &lt;message <a href="mailto:from='romeo@example.net'">from='romeo@example.net'</a><br />              <a href="mailto:to='juliet@example.com'">to='juliet@example.com'</a><br />              xml:lang='en'&gt; <br />服务器：&lt;body&gt;Neither, fair saint, if either thee dislike.&lt;/body&gt; <br />服务器：&lt;/message&gt; <br />客户端：&lt;/stream:stream&gt; <br />服务器：&lt;/stream:stream&gt; <br />以文档的观点来看，客户端或服务器发送的所有XML文本连缀在一起，从&lt;stream&gt;到&lt;/stream&gt;构成了一个完整的XML文档。其中的stream标签就是所谓的XML Stream。在&lt;stream&gt;与&lt;/stream&gt;中间的那些&lt;message&gt;...&lt;/message&gt;这样的XML元素就是所谓的XML Stanza（XML节）。XMPP核心协议通信的基本模式就是先建立一个stream，然后协商一堆安全之类的东西，中间通信过程就是客户端发送XML Stanza，一个接一个的。服务器根据客户端发送的信息以及程序的逻辑，发送XML Stanza给客户端。但是这个过程并不是一问一答的，任何时候都有可能从一个方发信给另外一方。通信的最后阶段是&lt;/stream&gt;关闭流，关闭TCP/IP连接。 <br />GTalk所遵循的协议---XMPP</p>
		<p>前几天Google发布了一款名叫Google Talk的即时通讯软件，这款软件的买点卖点之一就是XMPP。那，什么是XMPP呢？<br />　　 可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求 - 响应服务中的 XML 数据元流式传输。XMPP 以 Jabber 协议为基础，而 Jabber 是即时通讯中常用的开放式协议。<br />　　 尽管 XMPP 没有完全溶合进任何特定的网络架构之中，但是通过客户机/服务器架构，它还是经常被采用，因为客户机需要使用 XMPP 经过 TCP 连接访问服务器，而服务器之间也是通过 TCP 连接进行通信的。服务器可起到 XMPP 通讯的智能提取层的作用。许多客户机直接通过 TCP 连接与服务器相连，并使用 XMPP 来充分使用服务器和任何相关服务所提供的功能。同时连接到服务器的可能有多种资源，它们代表各自已获授权的客户机。对于客户机和服务器之间的连接，推荐使用的端口号为 5222 。网关是一种有着特殊用途的服务器端服务，它的主要功能是在异构通讯系统协议之中解析 XMPP ，同时还要在 XMPP 之中解析返回的数据，如以下各各种服务的网关：电子邮件、国际互联网中继聊天（IRC）、SIMPLE、短信息服务（SMS）和现存的各种即时通讯服务，包括 AIM、ICQ、MSN Messenger 和 Yahoo! Instant Messenger 等。<br />　　两个基本概念 — XML 数据流和 XML 节使得较小结构化信息的有效负载可以在敏感于数据传输的实体间进行迅速的异步传输。一个 XML 数据流就像一种容器，可应用在任何两个网络实体间 XML 数据元的交换。XML 节是结构化信息的独立单元，通过 XML 数据流从一个实体发送到另一个实体。<br />　　XMPP 中包含了一种用于防范数据流被窜改和偷听的办法。这种信道加密的办法使用了传输层安全协议（TLS），连同其扩展协议 STARTTLS 。这种扩展与其它协议的扩展是同一模式的，如 IMAP、POP3 和 ACAP 等协议。XMPP 中还包含一种对数据流进行验证的办法，并采用了简单验证和安全层协议（SASL）中 XMPP 的特定框架。 </p>
		<p>协议结构<br />　　XML 数据流在所有 XML 节的传送会话过程中起到一种包络的作用。我们可以采用一种单纯的方式来表示这个过程：<br />|--------------------|<br />| &lt;stream&gt;           |<br />|--------------------|<br />| &lt;presence&gt;         |<br />| &lt;show/&gt;            |<br />| &lt;/presence&gt;        |<br />|--------------------|<br />| &lt;message to='foo'&gt; |<br />| &lt;body/&gt; |<br />| &lt;/message&gt; |<br />|--------------------|<br />| &lt;iq to='bar'&gt; |<br />| &lt;query/&gt; |<br />| &lt;/iq&gt; |<br />|--------------------|<br />| ... |<br />|--------------------|<br />| &lt;/stream&gt; |<br />|--------------------| <br /> <br /> <br /></p>
		<p> </p>
<img src ="http://www.blogjava.net/Jiangzy/aggbug/91137.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Jiangzy/" target="_blank">飛雪(leo)</a> 2006-12-31 13:17 <a href="http://www.blogjava.net/Jiangzy/articles/91137.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开放的XMPP</title><link>http://www.blogjava.net/Jiangzy/articles/91135.html</link><dc:creator>飛雪(leo)</dc:creator><author>飛雪(leo)</author><pubDate>Sun, 31 Dec 2006 05:08:00 GMT</pubDate><guid>http://www.blogjava.net/Jiangzy/articles/91135.html</guid><wfw:comment>http://www.blogjava.net/Jiangzy/comments/91135.html</wfw:comment><comments>http://www.blogjava.net/Jiangzy/articles/91135.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Jiangzy/comments/commentRss/91135.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Jiangzy/services/trackbacks/91135.html</trackback:ping><description><![CDATA[
		<h2>基于RFC 3920，RFC 2779等标准协议的研究，一点个人体会 </h2>
		<div class="post">
				<div class="postTitle">
						<a id="CategoryEntryList.ascx_EntryStoryList_Entries__ctl0_TitleUrl" href="http://blog.csdn.net/oranje/archive/2005/11/02/521202.aspx">基于XMPP的统一消息模型</a>
				</div>
				<div class="postText">
						<p>好久没写文章了，感觉有点累，终于，看到了UU在招人，竟然要求最好是BLOG作为简历，所以为之一触，补一下自己的blog。</p>
						<p>规划了很久的统一消息模型，终于在一个图上表现完了：）。。。</p>
						<p>
								<img height="420" alt="" src="http://blog.csdn.net/images/blog_csdn_net/oranje/uipstru.gif" width="621" />
						</p>
						<p>为了统一各个系统中的消息，计划采用以XMPP协议为基础的统一消息系统；在系统上构建以axis为基础的web service来提供相关的接口标准，这样能实现吗？</p>
						<p>
								<strong>能统一什么？</strong>
						</p>
						<p>·统一各个系统的消息</p>
						<p>·统一邮件</p>
						<p>·统一的短信</p>
						<p>·统一的VOIP呼叫</p>
						<p>·统一基于T.38协议的网络传真</p>
						<p>·统一一切该统一的</p>
						<p>
								<strong>支持什么操作系统？</strong>
						</p>
						<p>Linux、Windows</p>
						<p>
								<strong>支持的数据库？</strong>
						</p>
						<p>DB2、ORACLE、MS SQL 、MY SQL、HSQL</p>
						<p>能与什么系统统一能？</p>
						<p>·基于WEB的应用系统（ASP、PHP、JSP）</p>
						<p>·主流开发语言编写的应用系统（C、VB、DELPHI....）</p>
						<p>
						</p>
						<p>基于开放的axis作为web service可以很方便的为其他系统提供统一的标准及接口，但是会面临一个问题：别人的系统为什么要和你统一起来呢？这个问题要思考....</p>
						<p>OA、ERP、CMS等都面临这个问题，统一的消息机制是他们急需的，而对于企业，各个系统中消息的统一，以及完善的通知手段（包括文字、邮件、短信、传真、电话等）是必须的。</p>
						<p>使用VoIP相关功能，我们可以建立多种应用服务，例如VoIP+TTS构件自动语音留言、VoIP多方电话会议等。</p>
				</div>
		</div>
<img src ="http://www.blogjava.net/Jiangzy/aggbug/91135.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Jiangzy/" target="_blank">飛雪(leo)</a> 2006-12-31 13:08 <a href="http://www.blogjava.net/Jiangzy/articles/91135.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RFC 3920 之 XMPP </title><link>http://www.blogjava.net/Jiangzy/articles/91134.html</link><dc:creator>飛雪(leo)</dc:creator><author>飛雪(leo)</author><pubDate>Sun, 31 Dec 2006 05:05:00 GMT</pubDate><guid>http://www.blogjava.net/Jiangzy/articles/91134.html</guid><wfw:comment>http://www.blogjava.net/Jiangzy/comments/91134.html</wfw:comment><comments>http://www.blogjava.net/Jiangzy/articles/91134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Jiangzy/comments/commentRss/91134.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Jiangzy/services/trackbacks/91134.html</trackback:ping><description><![CDATA[
		<div class="postText">
				<h1 style="MARGIN: auto 0cm">
						<span lang="EN-US" style="FONT-FAMILY: Arial">1</span>
						<span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">、</font>
						</span>
						<span lang="EN-US" style="FONT-FAMILY: Arial">Extensible Messaging and Presence Protocol (XMPP): Core </span>
				</h1>
				<h2 style="MARGIN: auto 0cm">
						<span lang="EN-US" style="FONT-FAMILY: Arial">1.1. Status of this Memo/</span>
						<font face="宋体">
								<span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">说明</span>
								<span lang="EN-US" style="FONT-FAMILY: Arial">
								</span>
						</font>
				</h2>
				<p style="MARGIN: 0cm 0cm 0pt">
						<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial">
								<font size="1">This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						</span>
				</p>
				<p style="MARGIN: 0cm 0cm 0pt">
						<span style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">本文档详细说明了应用于</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Internet</span>
						<font face="宋体">
								<span style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">通讯的标准协议。对于本协议的更新的一些需求讨论和建议，请提交当前版本到“国际标准协议组织”。本文档分发不受限制。</span>
								<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<h2 style="MARGIN: auto 0cm">
						<span lang="EN-US" style="FONT-FAMILY: Arial">1.2. Copyright Notice/</span>
						<font face="宋体">
								<span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">版权申明</span>
								<span lang="EN-US" style="FONT-FAMILY: Arial">
								</span>
						</font>
				</h2>
				<p style="MARGIN: 0cm 0cm 0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Copyright (C) The Internet Society (2004). </span>
				</p>
				<h2 style="MARGIN: auto 0cm">
						<span lang="EN-US" style="FONT-FAMILY: Arial">1.3. Abstract/</span>
						<font face="宋体">
								<span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">概要</span>
								<span lang="EN-US" style="FONT-FAMILY: Arial">
								</span>
						</font>
				</h2>
				<p style="MARGIN: 0cm 0cm 0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								<font size="1">This memo defines the core features of the Extensible Messaging and Presence Protocol (XMPP), a protocol for streaming Extensible Markup Language (XML) elements in order to exchange structured information in close to real time between any two network endpoints. While XMPP provides a generalized, extensible framework for exchanging XML data, it is used mainly for the purpose of building instant messaging and presence applications that meet the requirements of RFC 2779.</font>
						</span>
				</p>
				<p style="MARGIN: 0cm 0cm 0pt">
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">本文定义了</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">XMPP</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">协议的核心特性。</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">XMPP</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">是基于</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">XML</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">流元素扩展的，它旨在向两个网络终端在近乎实时的情况下交换结构信息。</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">XMPP</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">也提供了一个没有显著特点的，可扩展的</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">XML</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">数据交换的框架结构模型。在</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">RFC 2779</span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">标准定义的需求下，它应用于建立即时通讯和即时会议的应用程序。</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<h2 style="MARGIN: auto 0cm">
						<span lang="EN-US" style="FONT-FAMILY: Arial">1.4. Table of Contents/</span>
						<font face="宋体">
								<span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">目录</span>
								<span lang="EN-US" style="FONT-FAMILY: Arial">
								</span>
						</font>
				</h2>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">1.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								<a href="http://blog.csdn.net/oranje/archive/2005/08/22/461457.aspx#S1">
										<font color="#0000ff">Introduction/</font>
								</a>
						</span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
										<a href="javascript:void(0);/*1124766231044*/">
												<font color="#0000ff">简介</font>
										</a>
								</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">2.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Generalized Architecture/ </span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">通用的结构</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">3.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Addressing Scheme/ </span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">地址配置</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						</span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">4.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">XML Streams/ XML</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">流</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						</span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">5.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Use of TLS/ TSL</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">的应用</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						</span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">6.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Use of SASL / SASL</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">的应用</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						</span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">7.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Resource Binding / </span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">资源绑定</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"> </span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">8.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Server Dialback / </span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">服务回叫</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						</span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">9.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">XML Stanzas / XML</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">节</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						</span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">10.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Server Rules for Handling XML Stanzas / XML</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">操作的服务规则</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"> </span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">11.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">XML Usage within XMPP / XMPP</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">的</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">XML</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">用法</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"> </span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">12.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Core Compliance Requirements /  </span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">核心需求</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">13.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Internationalization Considerations / </span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">国际化考虑</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"> </span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">14.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Security Considerations / </span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">安全考虑</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"> </span>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">15.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">IANA Considerations / IANA</span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">考虑</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">16.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">References / </span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">参考文献</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">17.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Nodeprep / </span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">节点命名</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-bidi-font-family: Arial; mso-bidi-font-size: 9.0pt">·<span style="FONT: 7pt 'Times New Roman'">         </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">B. Resourceprep / </span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">资源命名</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-bidi-font-family: Arial; mso-bidi-font-size: 9.0pt">·<span style="FONT: 7pt 'Times New Roman'">         </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">C. XML Schemas / XML</span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">计划</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-bidi-font-family: Arial; mso-bidi-font-size: 9.0pt">·<span style="FONT: 7pt 'Times New Roman'">         </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">D. Differences Between Core Jabber Protocols and XMPP / JABBER</span>
						<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">
								<font face="宋体">和</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">XMPP</span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">核心协议的区别</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p>
						<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-bidi-font-family: Arial; mso-bidi-font-size: 9.0pt">       ·<span style="FONT: 7pt 'Times New Roman'">         </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Contributors/ </span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">贡献者</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-bidi-font-family: Arial; mso-bidi-font-size: 9.0pt">·<span style="FONT: 7pt 'Times New Roman'">         </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Acknowledgements/ </span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">知识准备</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-bidi-font-family: Arial; mso-bidi-font-size: 9.0pt">·<span style="FONT: 7pt 'Times New Roman'">         </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Author's Address/ </span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">作者地址</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								</span>
						</font>
				</p>
				<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">
						<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-bidi-font-family: Arial; mso-bidi-font-size: 9.0pt">·<span style="FONT: 7pt 'Times New Roman'">         </span></span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Full Copyright Statement/ </span>
						<font face="宋体">
								<span style="FONT-SIZE: 9pt; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial">版权申明              <font color="#0000ff">待续.........</font></span>
						</font>
				</p>
				<h2 class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
						<span lang="EN-US">
								<font size="6">1.4   </font>
								<a name="S1">
								</a>
								<font size="6">1. Introduction/简介</font>
						</span>
				</h2>
				<h3 class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
						<span lang="EN-US">1.4 1.1 Overview/综述</span>
				</h3>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
						<span lang="EN-US">
								<font face="Verdana" size="1">The Extensible Messaging and Presence Protocol (XMPP) is an open Extensible Markup Language [XML] protocol for near-real-time messaging, presence, and request-response services. The basic syntax and semantics were developed originally within the Jabber open-source community, mainly in 1999. In 2002, the XMPP WG was chartered with developing an adaptation of the Jabber protocol that would be suitable as an IETF instant messaging (IM) and presence technology. As a result of work by the XMPP WG, the current memo defines the core features of XMPP 1.0; the extensions required to provide the instant messaging and presence functionality defined in RFC 2779 [IMP-REQS] are specified in the Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence [XMPP-IM].</font>
								<font face="Times New Roman">
										<font size="3">
										</font>
								</font>
						</span>
				</p>
				<p>
						<font face="Verdana" size="2">xmpp是一个开放的基于xml的 提供 近乎实时消息、现场勘察和请求应答服务的协议。它最初是由jabber开源社区在大约 1999年发起并一直领导的即时消息的实时系统，在2002年，xmpp WG 。作为xmppWG的工作结果，当前备忘录定义了xmpp1.0的核心特征;在 这个扩展部要求提供定义在&lt;&lt;rfc 2779&gt;&gt;的即时消息和现场勘察功能，是列在xmpp 中: [xmpp-im]。</font>
				</p>
				<h3>1.4  1.2 Terminology/术语</h3>
				<p>
						<font size="1">The capitalized key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [TERMS].</font>
				</p>
				<p>
						<font face="Verdana" size="2">下面大写的关键字 "<strong>MUST</strong>", "<strong>MUST NOT</strong>", "<strong>REQUIRED</strong>", "<strong>SHALL</strong>", "<strong>SHALL NOT</strong>", "<strong>SHOULD</strong>", "<strong>SHOULD NOT</strong>", "<strong>REC</strong></font>
						<font face="Verdana" size="2">
								<strong>OMMENDED</strong>", "<strong>MAY</strong>", and "<strong>OPTIONAL</strong>" 在这篇文档中的意义 请参见RFC 2119</font>
				</p>
				<h2>
						<font size="6">1.4  2. Generalized Architecture/通用的结构</font>
				</h2>
				<h3>1.4  2.1 Overview/综述</h3>
				<p>
						<font size="1"> Although XMPP is not wedded to any specific network architecture, to date it usually has been implemented via a client-server architecture wherein a client utilizing XMPP accesses a server over a [TCP] connection, and servers also communicate with each other over TCP connections.</font>
				</p>
				<p>
						<font size="1">The following diagram provides a high-level overview of this architecture (where "-" represents communications that use XMPP and "=" represents communications that use any other protocol). </font>
				</p>
				<p>
						<font size="1">C1---S1---S2--C3 </font>
				</p>
				<ul>
						<li style="LIST-STYLE-TYPE: none">
								<p>
										<font size="1">| </font>
								</p>
						</li>
				</ul>
				<p>
						<font size="1">C2---+---G1==============FN1==================FC1 </font>
				</p>
				<p>
						<font size="1">The symbols are as follows:</font>
				</p>
				<p>
						<font size="1">·C1, C2, C3 = XMPP clients</font>
				</p>
				<p>
						<font size="1">·S1, S2 = XMPP servers </font>
				</p>
				<p>
						<font size="1">·G1 = A gateway that translates between XMPP and the protocol(s)</font>
				</p>
				<p>
						<font size="1">             used on a foreign (non-XMPP) messaging network</font>
				</p>
				<p>
						<font size="1">·FN1 = A foreign messaging network</font>
				</p>
				<p>
						<font size="1">·FC1 = A client on a foreign messaging network</font>
				</p>
				<p>尽管xmpp不想与任何特殊的网络体系机构相结合，但它通常是基于c/s架构的， 其中一个客户端通过一个tcp连接按着 xmpp 访问一个服务器， 服务器同样也是 通过tcp与其它实体通信。</p>
				<p>下面的图表提供了这个体系机构的高层视图(--代表用xmpp进行通信，=代表是 其它协议进行通信 )。 </p>
				<p>C1---S1---S2--C3 </p>
				<ul>
						<li style="LIST-STYLE-TYPE: none">
								<p>| </p>
						</li>
				</ul>
				<p>C2---+---G1==============FN1==================FC1 </p>
				<p>·C1,C2,C3 代表 XMPP客户端</p>
				<p>·S1,S2代表XMPP服务器</p>
				<p>·G1代表一个网关，它XMPP和 其它外部(非xmpp)消息网络之间的翻译。</p>
				<p>·FN1 代表一个外部消息网络</p>
				<p>·FC1 代表一个外部消息网络的客户端。                                 <font color="#0000ff">待续.........</font></p>
				<p> </p>
				<h3>1.4  2.2. Server/服务器</h3>
				<p>
						<font size="1">A server acts as an intelligent abstraction layer for XMPP communications. Its primary responsibilities are:</font>
				</p>
				<p>
						<font size="1">·to manage connections from or sessions for other entities, in the form of XML streams (Section 4) to and from authorized clients, servers, and other entities</font>
				</p>
				<p>
						<font size="1">·to route appropriately-addressed XML stanzas (Section 9) among such entities over XML streams</font>
				</p>
				<p>
						<font size="1">Most XMPP-compliant servers also assume responsibility for the storage of data that is used by clients (e.g., contact lists for users of XMPP-based instant messaging and presence applications); in this case, the XML data is processed directly by the server itself on behalf of the client and is not routed to another entity.</font>
				</p>
				<p>一个服务担当一个XMPP通信的智能提取层，这主要负责：</p>
				<p>·管理一个来自其它通信实体的以xml流方式的连接或会话， 它可以来自于授权的客户端、服务器、或者其它通信实体</p>
				<p>·路由在基于xml流实体中具有正确地址的xml节( 第九节)</p>
				<p>大多数的支持xmpp的服务器也可能为用户担任数据存储的职责( 如用户的联系列表);既然这样，服务器代表用户直接处理xml数据，而不被路由到另一个实体。</p>
				<h3>1.4  2.3 Client/客户端</h3>
				<p>
						<font face="Verdana" size="1">Most clients connect directly to a server over a [TCP] connection and use XMPP to take full advantage of the functionality provided by a server and any associated services. Multiple resources (e.g., devices or locations) MAY connect simultaneously to a server on behalf of each authorized client, with each resource differentiated by the resource identifier of an XMPP address (e.g., &lt;node@domain/ home&gt; vs. &lt;node@domain/work&gt;) as defined under Addressing Scheme (Section 3). The RECOMMENDED port for connections between a client and a server is 5222, as registered with the IANA (see Port Numbers (Section 15.9)).</font>
				</p>
				<p>
						<font face="Verdana">大多数的客户端直接通过tcp与服务器连接，用XMPP协议充分利用一个服务和任何相关的服务提供的功能。多个的资源(如设备或地区)可能同时连接到一个服务器，各自代表的一个授权的客户，它们通过XMPP地址(如 &lt;<font color="#0000ff">node@domain</font>/<font color="#ff0000">home</font>&gt; 和 &lt;<font color="#0000ff">node@domain</font>/<font color="#ff0000">work</font>&gt;)的<strong><font color="#ff0000">resource</font></strong>标识符来区别。推荐的连接端口为<font color="#ff0000"><strong>5222</strong></font>, 它已向IANA注册。</font>
				</p>
				<h3>1.4  2.4 Gateway/网关</h3>
				<p>
						<font face="Verdana" size="1">A gateway is a special-purpose server-side service whose primary function is to translate XMPP into the protocol used by a foreign (non-XMPP) messaging system, as well as to translate the return data back into XMPP. Examples are gateways to email (see [SMTP]), Internet Relay Chat (see [IRC]), SIMPLE (see [SIMPLE]), Short Message Service (SMS), and legacy instant messaging services such as AIM, ICQ, MSN Messenger, and Yahoo! Instant Messenger. Communications between gateways and servers, and between gateways and the foreign messaging system, are not defined in this document.</font>
				</p>
				<p>一个网关是服务器上的一个具有特殊目的的服务。它主要的功能是与外部消息系统通信时，将xmpp数据翻译成该系统的协议数据，同是将该系统返回的数据翻译成xmpp数据。例如email, irc, SIMPLE,SMS, 和其它的即时消息如 AIM,ICQ, MSN Messenger, Yahoo!.网关与服务器之间的通信 和 网关与外部消息系统之间 的通信的定义不在这篇文档中。</p>
				<h3>1.4  2.5  Network/网络</h3>
				<p>
						<font face="Verdana" size="1">Because each server is identified by a network address and because server-to-server communications are a straightforward extension of the client-to-server protocol, in practice, the system consists of a network of servers that inter-communicate. Thus, for example, &lt;</font>
						<a href="mailto:juliet@example.com">
								<font face="Verdana">
										<font size="1">
												<font color="#0044b3">juliet@example.com</font>
										</font>
								</font>
						</a>
						<font face="Verdana" size="1">&gt; is able to exchange messages, presence, and other information with &lt;</font>
						<a href="mailto:romeo@example.net">
								<font face="Verdana">
										<font size="1">
												<font color="#0044b3">romeo@example.net</font>
										</font>
								</font>
						</a>
						<font face="Verdana" size="1">&gt;. This pattern is familiar from messaging protocols (such as [SMTP]) that make use of network addressing standards. Communications between any two servers are OPTIONAL. If enabled, such communications SHOULD occur over XML streams that are bound to [TCP] connections. The RECOMMENDED port for connections between servers is 5269, as registered with the IANA (see Port Numbers (Section 15.9)).</font>
				</p>
				<p>
						<font face="Verdana">因为每一个服务器都可以通过一个网络地址来标识，同时因为服务器之间的通信是客户端与服务器之间的通信协议的一个直接的扩展，在实践中，系统由交互通信的服务器网络组成。因此，例如&lt;</font>
						<a href="mailto:juliet@example.com">
								<font face="Verdana">juliet@example.com</font>
						</a>
						<font face="Verdana">&gt;能够与&lt;</font>
						<a href="mailto:romeo@example.net">
								<font face="Verdana">romeo@example.net</font>
						</a>
						<font face="Verdana">&gt; 交换消息、现场勘察和其它信息。这种模式在使用网络地址标准的消息通信协议 (如SMTP)中是常见的，任何两个通信是可选的。如开启，那么通信在基于xml流上发生，它一定要建立TCP连接。推荐的连接端口为<font color="#ff0000"><strong>5269</strong></font>, 它已向IANA注册。</font>
				</p>
				<p>
				</p>
				<p>
						<font face="Verdana">
						</font>
				</p>
				<p>
						<font face="Verdana">
						</font>
				</p>
				<p>
						<font face="Verdana">
						</font>
				</p>
				<p>
						<font face="Verdana">
						</font>
				</p>
				<p>
						<font face="Verdana">
						</font>
				</p>
				<p>
						<font face="Verdana">
						</font>
				</p>
				<p>
						<font face="Verdana">
						</font>
				</p>
				<font size="6">1.4  3. Addressing Scheme/地址配置</font>
				<h3>1.4 3.1 Overview/综述</h3>
				<p>
						<font face="Verdana" size="1">An entity is anything that can be considered a network endpoint (i.e., an ID on the network) and that can communicate using XMPP. All such entities are uniquely addressable in a form that is consistent with RFC 2396 [URI]. For historical reasons, the address of an XMPP entity is called a Jabber Identifier or JID. A valid JID contains a set of ordered elements formed of a domain identifier, node identifier, and resource identifier. </font>
				</p>
				<p>
						<font size="1">The syntax for a JID is defined below using the Augmented Backus-Naur Form as defined in [ABNF]. (The IPv4address and IPv6address rules are defined in Appendix B of [IPv6]; the allowable character sequences that conform to the node rule are defined by the Nodeprep profile of [STRINGPREP] as documented in Appendix A of this memo; the allowable character sequences that conform to the resource rule are defined by the Resourceprep profile of [STRINGPREP] as documented in Appendix B of this memo; and the sub-domain rule makes reference to the concept of an internationalized domain label as described in [IDNA].) </font>
				</p>
				<p>
						<font size="1">jid = [ node "@" ] domain [ "/" resource ] domain = fqdn / address-literal fqdn = (sub-domain 1*("." sub-domain)) sub-domain = (internationalized domain label) address-literal = IPv4address / IPv6address</font>
				</p>
				<p>
						<font size="1">All JIDs are based on the foregoing structure. The most common use of this structure is to identify an instant messaging user, the server to which the user connects, and the user's connected resource (e.g., a specific client) in the form of &lt;user@host/resource&gt;. However, node types other than clients are possible; for example, a specific chat room offered by a multi-user chat service could be addressed as &lt;room@service&gt; (where "room" is the name of the chat room and "service" is the hostname of the multi-user chat service) and a specific occupant of such a room could be addressed as &lt;room@service/nick&gt; (where "nick" is the occupant's room nickname). Many other JID types are possible (e.g., &lt;domain/resource&gt; could be a server-side script or service).</font>
				</p>
				<p>
						<font size="1">Each allowable portion of a JID (node identifier, domain identifier, and resource identifier) MUST NOT be more than 1023 bytes in length, resulting in a maximum total size (including the '@' and '/' separators) of 3071 bytes.</font>
				</p>
				<p>
						<font face="Verdana" size="2">一个实体可以是任何网络端点(如网络中的一个ID)并能够用XMPP通信的事 物。 所有这一类的实体可以唯一编址的，并符合[RFC 2396 [URI]]风格。 因为历史原因，<strong>一个XMPP实体的地址被叫做Jabber标识符或JID</strong>。一个有效的JID包括三个部分：<strong>域标识符</strong>，<strong>节点标识符</strong>和<strong>资源标识符</strong></font>
				</p>
				<p>JID语法使用[ABNF]表达式定义。(IPv4地址和IPv6地址的规则的定义在附录B [IPv6] 中</p>
				<p>
						<font face="Verdana" color="#0000ff" size="2">jid = [ node "@" ] domain [ "/" resource ] </font>
				</p>
				<p>
						<font face="Verdana" color="#0000ff" size="2">domain = fqdn / address-literal </font>
				</p>
				<p>
						<font face="Verdana" color="#0000ff" size="2">fqdn = (sub-domain 1*("." sub-domain)) </font>
				</p>
				<p>
						<font face="Verdana" color="#0000ff" size="2">sub-domain = (internationalized domain label) </font>
				</p>
				<p>
						<font face="Verdana" color="#0000ff" size="2">address-literal = IPv4address / IPv6address</font>
				</p>
				<p>所有的JID都是基于上述结构中的。这个结构大多是用来标识一个即时消息通信的用户，在服务器上有哪几个连接，及用户的连接资源以&lt;<font color="#0000ff">user</font>@<font color="#0000ff">host</font>/<font color="#ff0000">resource</font>&gt; 的形式. 可是,节点的类型可能不是客户端;例如一个聊天室提供多用户聊天服务，它的地址可以可以是&lt;<font color="#0000ff">room</font>@<font color="#0000ff">service</font>&gt;( “room”是 聊天室的名字，"service"是提供多用户聊天服务的主机名) 。或者一个聊天室中的 某个用户被编址为&lt;<font color="#0000ff">room</font>@<font color="#0000ff">service</font>/<font color="#ff0000">nick</font>&gt; ( "mick"是该用户在聊天室中的昵称). 具有多个其它JID类型是可能的(如&lt;domain/resource&gt;可以是一个服务器端的 script或服务)。</p>
				<p>一个JID的每一部分(域标识符，节点标识符和资源标识符)的长度都不能超过<strong>1023</strong> 个字节，从而总字节数(包括"@"和"/")不能超过<strong>3071</strong>个字节。</p>
				<p>                                                                                                                         <font color="#0000ff">待续......</font></p>
		</div>
<img src ="http://www.blogjava.net/Jiangzy/aggbug/91134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Jiangzy/" target="_blank">飛雪(leo)</a> 2006-12-31 13:05 <a href="http://www.blogjava.net/Jiangzy/articles/91134.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XMPP 协议</title><link>http://www.blogjava.net/Jiangzy/articles/91132.html</link><dc:creator>飛雪(leo)</dc:creator><author>飛雪(leo)</author><pubDate>Sun, 31 Dec 2006 04:54:00 GMT</pubDate><guid>http://www.blogjava.net/Jiangzy/articles/91132.html</guid><wfw:comment>http://www.blogjava.net/Jiangzy/comments/91132.html</wfw:comment><comments>http://www.blogjava.net/Jiangzy/articles/91132.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Jiangzy/comments/commentRss/91132.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Jiangzy/services/trackbacks/91132.html</trackback:ping><description><![CDATA[
		<h2>XMPP 协议</h2>XMPP 协议是在www.jabber.org上公布的，是一种标准的即时通讯协议 
<div class="post"><div class="postTitle"><a id="CategoryEntryList.ascx_EntryStoryList_Entries__ctl0_TitleUrl" href="http://blog.csdn.net/oranje/archive/2006/06/05/774261.aspx">JEP-0078</a></div><div class="postText"><div><strong><font size="6"><font size="5">JEP-0078: Non-SASL Authentication</font></font></strong></div><div> </div><div><span style="FONT-SIZE: 10pt">SASL</span><span style="FONT-SIZE: 10pt">：</span><span style="FONT-SIZE: 10pt">Simple Authentication and Security Layer </span><span style="FONT-SIZE: 10pt">简单的认证及加密层</span></div><div> </div><p></p><table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-LEFT: 21pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 405.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid" valign="top" width="540"><div><span style="FONT-SIZE: 9pt">1</span><span style="FONT-SIZE: 9pt">、客户端向服务器端发送</span><span style="FONT-SIZE: 9pt">XML</span><span style="FONT-SIZE: 9pt">流</span></div></td></tr><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 405.1pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" valign="top" width="540"><div><span style="FONT-SIZE: 9pt">&lt;stream:stream to='shakespeare.lit'</span></div><div style="TEXT-INDENT: 45pt"><span style="FONT-SIZE: 9pt">     xmlns='jabber:client'</span></div><div><span style="FONT-SIZE: 9pt">               xmlns:stream='http://etherx.jabber.org/streams'&gt;</span></div></td></tr></tbody></table><div style="TEXT-INDENT: 18pt"> </div><div style="TEXT-INDENT: 18pt"> </div><p></p><table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-LEFT: 21pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid" valign="top" width="568"><div><span style="FONT-SIZE: 9pt">2</span><span style="FONT-SIZE: 9pt">、服务器返回消息</span></div></td></tr><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" valign="top" width="568"><div><span style="FONT-SIZE: 9pt">&lt;iq type='get' to='shakespeare.lit' id='auth1'&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;query xmlns='jabber:iq:auth'/&gt;</span></div><div><span style="FONT-SIZE: 9pt">&lt;/iq&gt;</span></div></td></tr><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" valign="top" width="568"><div><span style="FONT-SIZE: 9pt">注意中间的</span><span style="FONT-SIZE: 9pt">ID</span><span style="FONT-SIZE: 9pt">，这个</span><span style="FONT-SIZE: 9pt">ID</span><span style="FONT-SIZE: 9pt">是服务器端返回给客户端的验证信息，验证信息一般是以该</span><span style="FONT-SIZE: 9pt">ID</span><span style="FONT-SIZE: 9pt">号</span><span style="FONT-SIZE: 9pt">+</span><span style="FONT-SIZE: 9pt">用户密码通过</span><span style="FONT-SIZE: 9pt; COLOR: red">SHA1</span><span style="FONT-SIZE: 9pt">(RFC3174)</span><span style="FONT-SIZE: 9pt">算法进行操作的。也就是说客户端得到该</span><span style="FONT-SIZE: 9pt">ID</span><span style="FONT-SIZE: 9pt">和密码经过</span><span style="FONT-SIZE: 9pt">SHA1</span><span style="FONT-SIZE: 9pt">算法加密后返回给服务器。</span></div></td></tr></tbody></table><div style="TEXT-INDENT: 18pt"> </div><div> </div><p></p><table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-LEFT: 21pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid" valign="top" width="568"><div><span style="FONT-SIZE: 9pt">3</span><span style="FONT-SIZE: 9pt">、客户端想服务器提交请求获取登录需要验证的字段</span></div></td></tr><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" valign="top" width="568"><div><span style="FONT-SIZE: 9pt">&lt;iq type='get' to='shakespeare.lit' id='auth1'&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;query xmlns='jabber:iq:auth'/&gt;</span></div><div><span style="FONT-SIZE: 9pt">&lt;/iq&gt;</span></div></td></tr></tbody></table><div style="TEXT-INDENT: 18pt"> </div><div style="MARGIN: 0cm 0cm 0pt 18pt"><strong></strong> </div><p></p><table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-LEFT: 21pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid" valign="top" width="568"><div><span style="FONT-SIZE: 9pt">4</span><span style="FONT-SIZE: 9pt">、服务器返回登录需要验证的字段</span></div></td></tr><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" valign="top" width="568"><div><span style="FONT-SIZE: 9pt">&lt;iq type='result' id='auth1'&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;query xmlns='jabber:iq:auth'&gt;</span></div><div><span style="FONT-SIZE: 9pt">    &lt;username/&gt;</span></div><div><span style="FONT-SIZE: 9pt">    &lt;password/&gt;</span></div><div><span style="FONT-SIZE: 9pt">    &lt;digest/&gt; </span><span style="FONT-SIZE: 9pt">这个</span><span style="FONT-SIZE: 9pt">digest</span><span style="FONT-SIZE: 9pt">就是上面经过</span><span style="FONT-SIZE: 9pt">SHA1</span><span style="FONT-SIZE: 9pt">算法得出的结果字段</span></div><div><span style="FONT-SIZE: 9pt">    &lt;resource/&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;/query&gt;</span></div><div><span style="FONT-SIZE: 9pt">&lt;/iq&gt;</span></div></td></tr><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" valign="top" width="568"><div><span style="FONT-SIZE: 9pt">如果客户端发送的字段包括了用户名和</span><span style="FONT-SIZE: 9pt">IQ-GET</span><span style="FONT-SIZE: 9pt">的字段，服务器不应该返回错误消息（因为需要服务器判断当前用户名是否在使用），<strong>如果服务器不支持可插入的简单认证及密码模块，那么必须返回一个</strong></span><strong><span style="FONT-SIZE: 9pt; COLOR: black">&lt;service-unavailable/&gt;</span></strong><strong><span style="FONT-SIZE: 9pt; COLOR: black">的错误</span></strong><strong><span style="FONT-SIZE: 9pt; COLOR: black">;</span></strong><strong><span style="FONT-SIZE: 9pt; COLOR: black">如果客户端企图使用</span></strong><strong><span style="FONT-SIZE: 9pt; COLOR: black">SASL</span></strong><strong><span style="FONT-SIZE: 9pt; COLOR: black">认证但是失败，服务器必须返回</span></strong><strong><span style="FONT-SIZE: 9pt; COLOR: black">&lt;policy-violation/&gt;</span></strong><strong><span style="FONT-SIZE: 9pt; COLOR: black">错误信息</span></strong></div><div><span style="FONT-SIZE: 9pt; COLOR: black">在认证过程中，</span><span style="FONT-SIZE: 9pt">jabber:iq:auth</span><span style="FONT-SIZE: 9pt">命名、用户名和资源是必须要求客户端提供的</span><span style="FONT-SIZE: 9pt">，</span><span style="FONT-SIZE: 9pt">而服务器返回的</span><span style="FONT-SIZE: 9pt">XML</span><span style="FONT-SIZE: 9pt">流中也必须提供</span><span style="FONT-SIZE: 9pt; COLOR: black">&lt;username/&gt;</span><span style="FONT-SIZE: 9pt; COLOR: black">和</span><span style="FONT-SIZE: 9pt; COLOR: black">&lt;resource/&gt;</span><span style="FONT-SIZE: 9pt; COLOR: black">这</span><span style="FONT-SIZE: 9pt; COLOR: black">2</span><span style="FONT-SIZE: 9pt; COLOR: black">个元素。</span></div></td></tr></tbody></table><div> </div><div> </div><p></p><table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-LEFT: 21pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid" valign="top" width="568"><div><span style="FONT-SIZE: 9pt">5</span><span style="FONT-SIZE: 9pt">、客户端提交字段内容进行验证</span></div></td></tr><tr style="HEIGHT: 131.6pt"><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 131.6pt; BACKGROUND-COLOR: transparent" valign="top" width="568"><div><strong><span style="FONT-SIZE: 9pt">文本格式，非加密模式</span></strong></div><div><span style="FONT-SIZE: 9pt">&lt;iq type='set' id='auth2'&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;query xmlns='jabber:iq:auth'&gt;</span></div><div><span style="FONT-SIZE: 9pt">    &lt;username&gt;bill&lt;/username&gt;</span></div><div><span style="FONT-SIZE: 9pt">    &lt;password&gt;Calli0pe&lt;/password&gt;</span></div><div><span style="FONT-SIZE: 9pt">    &lt;resource&gt;globe&lt;/resource&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;/query&gt;</span></div><div><span style="FONT-SIZE: 9pt">&lt;/iq&gt;</span></div><div><strong><span style="FONT-SIZE: 9pt">加密模式</span></strong></div><div><span style="FONT-SIZE: 9pt">&lt;iq type='set' id='auth2'&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;query xmlns='jabber:iq:auth'&gt;</span></div><div><span style="FONT-SIZE: 9pt">    &lt;username&gt;bill&lt;/username&gt;</span></div><div><span style="FONT-SIZE: 9pt">    <span style="COLOR: red">&lt;digest&gt;48fc78be9ec8f86d8ce1c39c320c97c21d62334d&lt;/digest&gt;</span></span></div><div><span style="FONT-SIZE: 9pt">    &lt;resource&gt;globe&lt;/resource&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;/query&gt;</span></div><div><span style="FONT-SIZE: 9pt">&lt;/iq&gt;</span></div></td></tr></tbody></table><div> </div><p></p><table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-LEFT: 21pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid" valign="top" width="568"><div><span style="FONT-SIZE: 9pt">6</span><span style="FONT-SIZE: 9pt">、登录结果</span></div></td></tr><tr style="HEIGHT: 12.05pt"><td style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 426.1pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 12.05pt; BACKGROUND-COLOR: transparent" valign="top" width="568"><div><strong><span style="FONT-SIZE: 9pt">成功</span></strong></div><div><span style="FONT-SIZE: 9pt">&lt;iq type='result' id='auth2'/&gt;</span></div><div><strong><span style="FONT-SIZE: 9pt">失败</span></strong><strong><span style="FONT-SIZE: 9pt"> – </span></strong><strong><span style="FONT-SIZE: 9pt">认证失败，可能是用户名密码不匹配或数字验证错误</span></strong></div><div><span style="FONT-SIZE: 9pt">&lt;iq type='error' id='auth2'&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;error code='401' type='auth'&gt;</span></div><div><span style="FONT-SIZE: 9pt">    &lt;not-authorized xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;/error&gt;</span></div><div><span style="FONT-SIZE: 9pt">&lt;/iq&gt;</span></div><div><strong><span style="FONT-SIZE: 9pt">失败</span></strong><strong><span style="FONT-SIZE: 9pt"> – </span></strong><strong><span style="FONT-SIZE: 9pt">资源冲突</span></strong><strong><span style="FONT-SIZE: 9pt">/</span></strong><strong><span style="FONT-SIZE: 9pt">错误</span></strong></div><div><span style="FONT-SIZE: 9pt">&lt;iq type='error' id='auth2'&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;error code='409' type='cancel'&gt;</span></div><div><span style="FONT-SIZE: 9pt">    &lt;conflict xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;/error&gt;</span></div><div><span style="FONT-SIZE: 9pt">&lt;/iq&gt;</span></div><div><strong><span style="FONT-SIZE: 9pt">失败</span></strong><strong><span style="FONT-SIZE: 9pt"> – </span></strong><strong><span style="FONT-SIZE: 9pt">没有提供需要验证的字段</span></strong></div><div><span style="FONT-SIZE: 9pt">&lt;iq type='error' id='auth2'&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;error code='406' type='modify'&gt;</span></div><div><span style="FONT-SIZE: 9pt">    &lt;not-acceptable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/&gt;</span></div><div><span style="FONT-SIZE: 9pt"> &lt;/error&gt;</span></div><div><span style="FONT-SIZE: 9pt">&lt;/iq&gt;</span></div><div> </div><div> </div></td></tr></tbody></table><div style="MARGIN: 0cm 0cm 0pt 18pt"><strong></strong> </div><div><span style="FONT-SIZE: 9pt">其他的就没什么重要的了，</span><span style="FONT-SIZE: 9pt">JEP-0078</span><span style="FONT-SIZE: 9pt">就到此了吧，剩余的重要工作就是如何配置</span><span style="FONT-SIZE: 9pt">SASL</span></div></div></div><img src ="http://www.blogjava.net/Jiangzy/aggbug/91132.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Jiangzy/" target="_blank">飛雪(leo)</a> 2006-12-31 12:54 <a href="http://www.blogjava.net/Jiangzy/articles/91132.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于XMPP的JABBERD功能特性分析</title><link>http://www.blogjava.net/Jiangzy/articles/91131.html</link><dc:creator>飛雪(leo)</dc:creator><author>飛雪(leo)</author><pubDate>Sun, 31 Dec 2006 04:50:00 GMT</pubDate><guid>http://www.blogjava.net/Jiangzy/articles/91131.html</guid><wfw:comment>http://www.blogjava.net/Jiangzy/comments/91131.html</wfw:comment><comments>http://www.blogjava.net/Jiangzy/articles/91131.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Jiangzy/comments/commentRss/91131.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Jiangzy/services/trackbacks/91131.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 基于XMPP的JABBERD功能特性分析																																																																																																																																																...&nbsp;&nbsp;<a href='http://www.blogjava.net/Jiangzy/articles/91131.html'>阅读全文</a><img src ="http://www.blogjava.net/Jiangzy/aggbug/91131.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Jiangzy/" target="_blank">飛雪(leo)</a> 2006-12-31 12:50 <a href="http://www.blogjava.net/Jiangzy/articles/91131.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>