XMLStream可以理解为XMPP内容在不同实体(如client、server)之间传递的容器,XMLStream开始于<stream>标签,结束于</stream>标签,在生命周期中,可传递不限量的XMPP内容。
XMLStanza是被传递的XMPP内容的基本形式,它可以这样定义:1.在</stream>的子层(深度=1);2.元素名称为message、presence或iq(被包含在<message/>、<presence/>或<iq>);3.名字空间为jabber:client 或 jabber:server,这3个条件都满足的话即为XMLStanza。
message为消息, presence为在线状态(在线/离线/可以聊天……),iq表示Info/Query(一去一回)。
之间关系显然,实际情况一般如此:
1.建立XMLStream。
2.通过传递stream完成前期信息交换及认证。
3.传递XMLStanza。
……
关闭XMLStream。
交互过程如下示意图:
+--------------------+--------------------+ | INITIAL STREAM | RESPONSE STREAM | +--------------------+--------------------+ | <stream> | | |--------------------|--------------------| | | <stream> | |--------------------|--------------------| | <presence> | | | <show/> | | | </presence> | | |--------------------|--------------------| | <message to='foo'> | | | <body/> | | | </message> | | |--------------------|--------------------| | <iq to='bar' | | | type='get'> | | | <query/> | | | </iq> | | |--------------------|--------------------| | | <iq from='bar' | | | type='result'> | | | <query/> | | | </iq> | |--------------------|--------------------| | [ ... ] | | |--------------------|--------------------| | | [ ... ] | |--------------------|--------------------| | </stream> | | |--------------------|--------------------| | | </stream> | +--------------------+--------------------+
相关推荐
在 XMPP 协议中,XML 节的语法符合 'jabber:client' 和 'jabber:server' 名字空间的 XML 节的基本语义和通用属性已经在 RFC 3920 中定义了。消息语法符合 'jabber:client' 或 'jabber:server' 名字空间的消息节用于 ...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通信协议,被广泛应用于即时通讯、在线状态管理和数据交换等领域。这份"XMPP协议中文帮助文档"无疑为那些需要理解和应用XMPP技术的开发者...
XMPP协议的核心功能被定义在RFC3920和RFC3921中,分别涉及核心协议和即时消息与出席协议(XMPP-IM)。 通用架构章节阐述了XMPP协议所采用的客户-服务器模型,该模型允许任意两个网络终端通过TCP连接实现结构化信息...
XMPP(Extensible Messaging and Presence Protocol)是一种开放的即时通讯协议,主要用于构建实时通信系统,如聊天应用、社交网络和协作工具。它基于XML(可扩展标记语言)设计,允许开发者构建灵活、可扩展的通信...
XMPP 1.0的核心功能定义了协议的基础,而即时消息和出席信息功能则在XMPP-IM协议中进行了扩展定义。 **1.2 术语** 文档中的关键字如"MUST"、"SHOULD"等遵循BCP14和RFC2119中定义的标准含义,用于规范协议的使用和...
XMPP(可扩展消息和出席信息协议)是一种基于XML的实时通信协议,旨在提供即时消息、出席信息(在线状态)以及请求-响应服务。它的设计初衷是为了满足RFC 2779中对即时通信和出席信息的需求。XMPP最初由Jabber开源...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通信协议,主要用于即时消息和在线状态的传递。在本文中,我们将深入探讨如何使用C#语言实现XMPP协议,并通过一个名为"ConsoleXmpp"的示例...
XMPP(Extensible Messaging and Presence Protocol,可扩展消息与存在协议)是一种基于XML的实时通信协议,用于构建即时通讯和在线状态服务。该协议最初由Jabber项目开发,后来被互联网工程任务组(IETF)标准化,...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放通信协议,主要用于实时通信和存在信息的交换。这个“XMPP.rar_xmpp 通讯协议中文”压缩包包含了一个名为“XMPP.doc”的文档,很可能是关于...
总结,通过使用XMPP协议和Android开发技术,我们可以构建一个类似QQ的聊天应用,提供丰富的即时通讯功能。在实践中,我们需要关注协议的正确实现、用户体验的设计,以及数据安全和隐私保护等方面,以打造一个稳定、...
《可扩展消息和出席信息协议(XMPP)中文版》文档详细阐述了XMPP协议的核心功能,这是一种基于XML流的实时通信协议,适用于构建即时消息和出席信息应用,以满足RFC 2779的需求。XMPP的设计目标是提供一个开放、可...
XMPP (Extensible Messaging and Presence Protocol) 是一种开放标准的即时通讯协议,它基于XML,设计用于提供实时通信和消息传递。XMPP的核心组件包括客户端、服务器和服务器之间的连接,使得用户可以进行一对一、...
RFC6120是描述XMPP核心协议规范的文档,它定义了XMPP的核心协议方法,如XML流的建立和拆除、通道加密、身份验证、错误处理以及消息、网络可用性(存在)和请求-响应交互的通信原语。此外,RFC6120还替代了之前版本的...
xmpp协议和xmpp扩展协议,chm格式
XMPP(可扩展消息和出席协议)是一种基于XML的实时通信协议,最初由Jabber开源社区开发,后来成为IETF即时消息和出席技术的标准。该协议主要用于构建即时消息和在线状态服务,同时也支持数据的交换和其他请求-响应...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通信协议,主要用于即时消息和在线状态的传输。这个“xmpp协议demo”很显然是一个演示如何使用XMPP协议的项目,可能包含客户端和服务器端的...
XMPP(Extensible Messaging and Presence Protocol,可扩展消息与存在协议)是一种基于XML的开放标准通信协议,主要用于实时双向通信,如即时消息(IM)、语音及视频通话、文件传输等。该协议最初由Jabber项目开发...
XMPP是一个基于XML的开放标准,用于实时通信和消息传递,它支持多种功能,包括聊天、群聊、文件传输等。下面将详细阐述如何在Android平台上构建一个XMPP应用程序,并解释相关技术点。 首先,理解XMPP协议的关键概念...
XMPP的核心概念是构建在TCP/IP协议之上的XML流,使得数据在客户端和服务器之间双向传输。 在XMPP体系架构中,有三个主要角色:客户端(Client)、服务器(Server)和网关(Gateway)。客户端通过TCP/IP连接到服务器...