初窥XMPP
来源:互联网 发布:青岛知行国际 虚假 编辑:程序博客网 时间:2024/06/05 02:52
1. 什么是XMPP
XMPP(eXtensible Messaging and Presence Protocol)是一种用来在两个地点之间传递小型结构化数据的协议。XMPP最常用的使用场景就是即时通信,而这也是XMPP特点的最好体现。在XMPP上交换的数据是XML格式的,这使通信具备良好的可扩展性。
2. XMPP寻址
XMPP网络上每个实体都具有一个或多个地址(JID,jabber indentifier)。JID由三个部分组成:节点,域和资源。例如:danis@fabric.local/iphone。
- 节点: “danis”便是一个节点,用来识别域中的一个特定用户,多人聊天服务将每个聊天室显示为一个JID,而节点部分指向聊天室。
- 域:fabric.local 是域,域是实体可解析的DNS名称,也就是说,可以通过域来寻址处于网络中的实体,所以域是必须的。
- 资源:/iphone则是资源,通常用于标识一个特定的客户端,/iphone则表示用iphone登录
3. XMPP节点
在XMPP中,各项工作都是通过发送和接收数据流来完成的,而XMPP核心由三种基本的节点组成<presence>,<message>,<iq>。三种节点有各自的用途,适当的组合可以完成复杂的任务.
1
2
3
4
5
6
7
8
9
10
<stream:stream>
<iq type=
'get'
>
<query xmlns=
'jabber:iq:roster'
/>
</iq>
<presence/>
<message to=
'sherry@coco.lit'
from=
'danis@coco.lit'
type=
'chat'
>
<body>Go to have a breakfirst</body>
</message>
<presence type=
'unavailable'
/>
</stream>
- <stream:stream>:创建了一个XMPP流
- iq:进行查询
- message:则是一条信息
- presence:出席,告诉服务器他在线并可以访问,<presence:unavailable>告诉服务器他不可访问
- </stream>:关闭<stream:stream>元素,结束会话
(1). presence
<presence>控制并报告实体的可访问。
1
2
3
4
5
6
7
<presence>
<show>away</show>
<status>playing basketball</status>
</presence>
<show>用来传达用户的可访问性
<status>为可读的自然语言
(2). message
<message>用来实体和实体发送消息,这些消息可以是任何类型的结构化信息
(3). iq
<iq>: Info/Query,XMPP提供的请求/响应机制,和HTTP协议的工作原理类似。可以主动向实体进行查询。<iq> 有四种type:’get’,’set’,’result’,’error’
0 0
- Xmpp初窥
- 初窥XMPP
- XMPP
- XMPP
- XMPP
- XMPP
- xmpp
- XMPP
- XMPP
- XMPP
- XMPP
- xmpp
- XMPP
- xmpp
- xmpp
- xmpp
- XMPP
- xmpp
- 白话经典算法系列之六 快速排序 快速搞定
- android屏幕适配建议
- VS2008如何编译C文件
- 【ArcGIS平台系列】Apps,新一代WebGIS平台的入口
- 浙大计算机研究生复试上机考试-2010年 最短路径问题
- 初窥XMPP
- Android:的Bitmap进行ClipPath存在锯齿
- 修改IntelliJ IDEA的类文件模板
- opencv系列之一 利用透视变换实现图像的俯视图(正视图)
- 通过代码setTextColor,改变不同状态下的textColor
- 中日电脑相关词汇(超详版)
- poj_1035 串
- XMPPFramework 介绍
- Hibernate Session的Flush模式