XMPP通信语义学 message, presence IQ
- XMPP通信语义学
- 消息语义学message
- message
- 出席信息语义学presence
- presence
- IQ语义学
- iq Info Query
- 消息语义学message
- 三种方法对象的接收方法是
XMPP通信语义学
消息语义学message
message
message是一种基本推送消息方法,它不要求响应。主要用于IM、groupChat、alert和notification之类的应用中。
主要 属性如下:type属性,它主要有5种类型:normal:类似于email,主要特点是不要求响应;chat:类似于qq里的好友即时聊天,主要特点是实时通讯;groupchat:类似于聊天室里的群聊;headline:用于发送alert和notification;error:如果发送message出错,发现错误的实体会用这个类别来通知发送者出错了;
to属性:标识消息的接收方。
from属性:指发送方的名字或标示。为防止地址外泄,这个地址通常由发送者的server填写,而不是发送者。
载荷(payload):例如body,subject
<message to="lily@jabber.org/contact" type="chat" > <body> 你好,在忙吗</body>
</message>
出席信息语义学presence
presence
presence用来表明用户的状态,如:online、away、dnd(请勿打扰)等。当改变自己的状态时,就会在stream的上下文中插入一个Presence元素,来表明自身的状态。要想接受presence消息,必须经过一个叫做presence subscription的授权过程。
属性:
type属性,非必须。有以下类别subscribe:订阅其他用户的状态probe:请求获取其他用户的状态unavailable:不可用,离线(offline)状态
to属性:标识消息的接收方。
from属性:指发送方的名字或标示。
载荷(payload): show:chat:聊天中away:暂时离开xa:eXtend Away,长时间离开dnd:勿打扰
status:格式自由,可阅读的文本。也叫做rich presence或者extended presence,常用来表示用户当前心情,活动,听的歌曲,看的视频,所在的聊天室,访问的网页,玩的游戏等等。
priority:范围-128~127。高优先级的resource能接受发送到bare JID的消息,低优先级的resource不能。优先级为负数的resource不能收到发送到bare JID的消息。
<presence from="alice@wonderland.lit/pda"> <show>xa</show> <status>down the rabbit hole!</status>
</presence>
IQ语义学
iq (Info / Query)
一种请求/响应机制,从一个实体从发送请求,另外一个实体接受请求,并进行响应。例如,client在stream的上下文中插入一个元素,向Server请求得到自己的好友列表,Server返回一个,里面是请求的结果。
主要的属性是type。包括: Get :获取当前域值。类似于http get方法。Set :设置或替换get查询的值。类似于http put方法。Result :说明成功的响应了先前的查询。类似于http状态码200。Error: 查询和响应中出现的错误。
<iq from="alice@wonderland.lit/pda" id="rr82a1z7" to="alice@wonderland.lit" type="get"> <query xmlns="jabber:iq:roster"/>
</iq>
三种方法对象的接收方法是:
- (XMPPIQ *)xmppStream:(XMPPStream *)sender willReceiveIQ:(XMPPIQ *)iq;
- (XMPPMessage *)xmppStream:(XMPPStream *)senderwillReceiveMessage:(XMPPMessage *)message;
- (XMPPPresence *)xmppStream:(XMPPStream *)senderwillReceivePresence:(XMPPPresence *)presence;
XMPP通信语义学 message, presence IQ相关推荐
- 【苹果iMessage家庭推】MPP XMPP(Extensible Messaging and Presence Protocol
推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...
- 多线程,主线程与子线程的通信Handler Message sendmessage与handlemessage obtainmessage
android是单线程的,在子线程中是不能修改UI线程的任何操作,所以要用一种方式让子线程中的信息返回到主线程中再做修改.这就要让主线程与子线程通信. 那如何让它们之间进行通信呢?我们用Handler ...
- UDS protocol - 周期报文 periodical message 多字节通信 multi-byte message
•Unacknowledged Segmented Data Transfer (USDT) •Unacknowledged Un-segmented Data Transfer (UUDT) • • ...
- 基于XMPP协议的Android即时通信系
2019独角兽企业重金招聘Python工程师标准>>> 以前做过一个基于XMPP协议的聊天社交软件,总结了一下.发出来. 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过 ...
- xmpp协议(即时通信协议规范)
转载自 https://www.cnblogs.com/jiyuqi/p/5085932.html 相关背景 IM(Instant Messaging)正在被广泛使用,特别是公司与它们的客户互动连接方 ...
- 【通信】【1】幅度调制,频率调制,双边带与单边带,IQ与PSK与QAM——采样一定要满足奈奎斯特定理吗
前言 看<宽带太赫兹通信>遇到了IQ,BPSK等词汇,想起我学的一点印象也没有的通信原理,是时候补一下了.这本<通信原理 深入浅出>写的太好了,通俗易懂.明明一两个小时就能学懂 ...
- RFC3920 xmpp协议
RFC3920 "原文来自RFC 3920"可扩展的消息和出席信息协议 (XMPP): 核心协议 关于本文的说明 本文为互联网社区定义了一个互联网标准跟踪协议,并且申请讨论协议和提 ...
- Openfire XMPP Smack RTC IM 即时通讯 聊天 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 即时通讯:XMPP基础
即时通讯系列阅读 即时通讯基础 即时通讯:XMPP基础 即时通讯:XMPP项目实践-微聊 Smack类库最好的学习资料 1. XMPP 简介 XMPP(Extensible Messaging and ...
- XMPP协议简单介绍
2019独角兽企业重金招聘Python工程师标准>>> 由于博客迁移至www.coderyi.com,文章请看http://www.coderyi.com/archives/434 ...
最新文章
- 2020校招薪酬大比拼,你被倒挂了没?
- C# 字段 属性 方法 三霸主齐上阵
- python xpath爬虫_Python爬虫(2):XPath语法
- 在CDS(Core Data Services)中使用DCL(Data Control Language)
- Python架构(二)
- 演练:在 Windows 窗体中承载 Windows Presentation Foundation 复合控件 【转载】
- 一步步编写操作系统 10 cpu的实模式
- 软工 课堂作业:选出一个整数组中最大子数组
- elk处理基础数据_使用ELK堆栈和Ruby构建数据处理管道
- (02)Verilog HDL模块
- iOS开发之五:常用控件--UITextField的使用
- Servlet(二)GenericServlet
- 图像分割(多分类)将mask变为one hot label
- ftp连接服务器连接不上,xshell可以连接上
- 【CTF misc python】加密zip和rar文件的枚举解密工具(python代码)
- 云计算与海量数据处理技术
- 查杀病毒实战----------------》ddg.223 and AnXQV
- VS2022无法启动程序,系统找不到指定文件
- iOS 3DTouch 开发
- 君子签推出AI智能电子合同一体化处理产品,赋能合同业务智能化