基于xmpp协议的通讯基础知识

一、xmpp基本概念

xmpp是在建立长连接的基础上,以xml封装文本数据进行传输,实现通讯的一种传输协议。

在xmpp中定义了三个顶层的xml元素:Message(用于消息收发),Presence(用于显示用户状态),IQ。

1.<Message>主要用于实现消息收发,其中to标识消息的接收方(如果是from则代表发送方),user@jabber.org/contact为协议地址,<body>里的内容为你要发送的文本消息体,user为接收消息(form则为发送消息)的用户名。结构如下:

<message to = 'user@jabber.org/contact' type = 'chat'>

<body>文本消息体</body>

</message>

2.<Presence>用于标识用户状态:如online(在线)、away(离线)、dnd(请勿打扰)等。当用户改变自己的状态时就会在stream的上下文中插入一个presence元素来表明自身状态。结构如下:

<presence>

From = 'user1@jabber.org/contact'

to = 'user2@jabber.org/contact'

<status>Online</status>

</presence>

3.<IQ>是一种请求/响应机制,从一个实体发送请求,另一个实体接受请求并进行响应(类似于向服务器请求数据)。例如,client在stream的上下文中插入一个属性,向server请求得到自己的好友列表,server返回一个请求的结构。结构如下:

<iq from = 'user@jabber.com/contact' id = 'chat'>

<iq>的主要属性是type,还包括以下:

get:获取当前域值。(如向server获取好友列表)。

set:设置或替换get查询的值(如登录)。

result:代表成功响应了先前的查询(服务器返回成功的标识)。

error:查询和响应中出现的错误(服务器返回错误标识)。

二、xmpp工作机制

事例:终端名为clientDemo,通过服务器server.lit与其它用户相连,而其它的用户通过服务器

转载于:https://my.oschina.net/u/3174448/blog/877294

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值