`

XMPP基本概念-XMPP节点(一)

阅读更多

本文介绍在XMPP通信中最核心的三个XML节点.这些节点有自己的作用和目标,通过组织不同的节点,就能达到我们各种各样的通信目的。
首先我们来看一段XMPP流。
<stream:stream>
<iq type='get'><query xmlns='jabber:iq:roster'/></iq>
<presence/>
<message to='william_duan@jabber.org' from='test_account@jabber.org' type='chat'><body>Hello</body></message>
<presence type='unavailable'/>
</stream:stream>

在上面的例子中,我们可以看到一些XMPP节点,包括<iq>,<message>以及<presence>。接下来就对这些节点做一个大致的了解。

节点的共通属性

1.1 from

表示一个发送节点,在送出去的节点中一般来说不推荐设定,服务器会自动设定正确的值,如果你设定了不正确的值,服务器将会拒收你的节点信息。

如果在客户端到服务器端的通信中接收的节点中没有本属性,会被默认解释为信息是由服务器发出的。

如果在服务器到服务器的通信中接收的节点中没有本属性,则会被解释为一个error.

 

1.2 to

表示一个接收节点。

如果在客户端到服务器端的通信中没有设置本属性,服务器会默认解释为信息是发给自己的。

 

1.3 type

指定节点的类型(<presence>,<message>,<iq>).每种节点都会有几种可能的设定值,这些在以后会慢慢的涉及到。

所有的节点都会有一个error设定值,,表明这个节点是一个error回应,对这样的节点信息不需要进行回应。

 

1.4 id

表示一个特定的请求。在<iq>节中,这个属性是必须要指定的,但是在其他两个节点中是一个可选属性。 

0
0
分享到:
评论

相关推荐

    XMPP基本概念-节点(二)

    **XMPP基本概念-节点(二)** XMPP(Extensible Messaging and Presence Protocol,可扩展消息传递和存在协议)是一种基于XML的实时通信协议,广泛应用于即时通讯、在线状态感知和数据交换。本文将深入探讨XMPP中的...

    XMPP协议--即时通讯工具实现原理

    4. **状态更新**: 除了基本的消息传递功能外,XMPP还支持用户在线状态的更新。例如,当用户的在线状态发生变化时(如离线转为在线),可以通过Presence消息通知到所有相关联的好友或群组。 #### 三、关键概念和技术...

    XMPP权威指南 -中文.pdf

    XMPP权威指南是一本详尽介绍XMPP协议及其应用开发的书籍,书中内容不仅包括XMPP的基本原理,还涵盖了如何使用XMPP进行即时通讯(IM)开发的实战知识。 XMPP协议有着悠久的历史,它基于开源和开放标准,具有很好的...

    django-xmpp-server-test:一个测试XMPP服务器功能的Django项目

    XMPP服务器作为中心节点,负责连接客户端,处理消息路由和状态更新。在`django-xmpp-server-test`中,项目可能包含了模拟或连接真实XMPP服务器的代码,以便测试服务器的各种功能,如注册、登录、发送接收消息等。 *...

    XMPP-RFC3920中文

    **XMPP (可扩展消息和出席协议)** 是一种基于XML的实时通信协议,起初由Jabber开源社区创建,后来成为Internet Engineering Task Force (IETF) 的即时消息和出席信息技术的一部分。RFC 3920是XMPP的核心协议文档,...

    xmpp-core中文版

    XMPP提供了一个灵活且可扩展的框架,主要用于构建即时消息和出席信息应用,满足RFC 2779所定义的需求。 本文档由P. Saint-Andre在2004年提出,作为互联网标准跟踪协议,其目的是为了促进社区讨论和改进。XMPP的设计...

    Backbone.xmpp:用于实时将Backbone模型集合与XMPP Pub-Sub节点同步的存储层

    该包通过将Backbone.Collection实例映射到Pub-Sub节点,并将它们的Backbone.Model实例映射到该节点的项目,在上提供了这样一个层。 此外,它还支持处理这些节点上的实时XMPP通知,将实时更新推送到集合/模型。 用法...

    xmpp协议分析

    资源绑定是XMPP中的一个重要概念,允许客户端通过选择不同的资源标识符来区分同一用户的不同会话。例如,用户Alice可能同时使用她的手机和电脑登录到同一个XMPP账户,此时就需要为这两个设备分配不同的资源标识符。 ...

    XMPP正式RFC标准3920

    XMPP中的地址空间基于XML命名空间的概念,包括节点、域和资源三个部分。节点标识用户或服务,域标识服务器,资源标识客户端的具体实例。这些组成部分组合在一起形成了完整的XMPP地址,例如:`node@domain/resource`...

    xmpp协议讲解

    XMPP的核心概念是基于客户端-服务器架构,允许用户通过自己的XMPP服务器与其他服务器上的用户进行通信。这种设计使得XMPP具有高度的可扩展性和灵活性,可以支持多种功能,如文本聊天、语音和视频通话、文件传输、多...

    xmpp协议介绍,XMPP体系架构

    XMPP的核心概念是构建在TCP/IP协议之上的XML流,使得数据在客户端和服务器之间双向传输。 在XMPP体系架构中,有三个主要角色:客户端(Client)、服务器(Server)和网关(Gateway)。客户端通过TCP/IP连接到服务器...

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

    - **XMPP网络和连接**:XMPP网络由多个互相通信的实体组成,这些实体包括客户端、服务器以及其他XMPP节点。这些节点通过互联网形成一个互联的网络。 - **XMPP的三种构造块**:XMPP的核心是由三种构造块组成,即...

    xmpp,the Definitive Guide

    这一章节将涵盖 XMPP 的核心概念,包括但不限于 XMPP 的架构、消息格式、节点之间的通信方式等。通过学习这些基础知识,读者可以更好地理解 XMPP 的工作原理并掌握如何构建基于 XMPP 的应用。 #### 五、Jingle 技术...

    基于xmpp协议的多端即时通讯方案

    - **节点/域模型**:XMPP采用节点/域模型来标识用户,类似于电子邮件地址。 - **客户端/服务器模型**:通常采用客户端/服务器架构,客户端通过服务器转发消息。 - **组件间通信**:除了客户端/服务器模型外,XMPP还...

    xmpp协议 中文版

    **RFC3920**是关于XMPP核心协议的技术规范文档,定义了XMPP的基本结构和功能,为实现XMPP客户端和服务端之间的通信提供了必要的指导。该文档由IETF发布,版权属于Internet Society(互联网协会)。 #### 二、XMPP...

    node-xmpp-component:node-xmpp 的 XMPP 组件接口

    节点-xmpp 用于惯用 XMPP 组件库 手动的 有关如何使用node-xmpp-component说明,请参阅 。 安装 注意:我们现在只支持 nodejs 0.8.0 及更高版本。 使用包管理器 : npm install node-xmpp-component 测试 安装...

    xmpp rfc 3920

    文档最后列出了参考文献、节点准备方法、资源准备方法、XML模式等附加信息,这些都是理解和实现XMPP的重要参考资料。 通过以上解析,我们可以看到XMPP不仅是一个强大的即时通讯和在线状态协议,而且还具有高度的...

    xmpp协议+ios

    【XMPP 协议 + iOS 开发】是即时通讯领域中的一个重要组合,XMPP(Extensible Messaging and Presence Protocol)是一种基于 XML 的实时通讯协议,广泛应用于iOS应用开发中实现聊天、在线状态等功能。该协议的设计...

    XMPP协议高级消息处理

    **XMPP**(Extensible Messaging and Presence Protocol)是一种基于XML的即时通信协议,广泛应用于在线聊天、文件传输等多种应用场景。随着技术的发展,XMPP协议也在不断扩展和完善其功能。XEP-0079(Advanced ...

Global site tag (gtag.js) - Google Analytics