• XMPP通信语义学

    • 消息语义学message

      • message
    • 出席信息语义学presence
      • presence
    • IQ语义学
      • iq Info Query
  • 三种方法对象的接收方法是

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相关推荐

  1. 【苹果iMessage家庭推】MPP XMPP(Extensible Messaging and Presence Protocol

    推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...

  2. 多线程,主线程与子线程的通信Handler Message sendmessage与handlemessage obtainmessage

    android是单线程的,在子线程中是不能修改UI线程的任何操作,所以要用一种方式让子线程中的信息返回到主线程中再做修改.这就要让主线程与子线程通信. 那如何让它们之间进行通信呢?我们用Handler ...

  3. UDS protocol - 周期报文 periodical message 多字节通信 multi-byte message

    •Unacknowledged Segmented Data Transfer (USDT) •Unacknowledged Un-segmented Data Transfer (UUDT) • • ...

  4. 基于XMPP协议的Android即时通信系

    2019独角兽企业重金招聘Python工程师标准>>> 以前做过一个基于XMPP协议的聊天社交软件,总结了一下.发出来. 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过 ...

  5. xmpp协议(即时通信协议规范)

    转载自 https://www.cnblogs.com/jiyuqi/p/5085932.html 相关背景 IM(Instant Messaging)正在被广泛使用,特别是公司与它们的客户互动连接方 ...

  6. 【通信】【1】幅度调制,频率调制,双边带与单边带,IQ与PSK与QAM——采样一定要满足奈奎斯特定理吗

    前言 看<宽带太赫兹通信>遇到了IQ,BPSK等词汇,想起我学的一点印象也没有的通信原理,是时候补一下了.这本<通信原理 深入浅出>写的太好了,通俗易懂.明明一两个小时就能学懂 ...

  7. RFC3920 xmpp协议

    RFC3920 "原文来自RFC 3920"可扩展的消息和出席信息协议 (XMPP): 核心协议 关于本文的说明 本文为互联网社区定义了一个互联网标准跟踪协议,并且申请讨论协议和提 ...

  8. Openfire XMPP Smack RTC IM 即时通讯 聊天 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  9. 即时通讯:XMPP基础

    即时通讯系列阅读 即时通讯基础 即时通讯:XMPP基础 即时通讯:XMPP项目实践-微聊 Smack类库最好的学习资料 1. XMPP 简介 XMPP(Extensible Messaging and ...

  10. XMPP协议简单介绍

    2019独角兽企业重金招聘Python工程师标准>>> 由于博客迁移至www.coderyi.com,文章请看http://www.coderyi.com/archives/434 ...

最新文章

  1. 2020校招薪酬大比拼,你被倒挂了没?
  2. C# 字段 属性 方法 三霸主齐上阵
  3. python xpath爬虫_Python爬虫(2):XPath语法
  4. 在CDS(Core Data Services)中使用DCL(Data Control Language)
  5. Python架构(二)
  6. 演练:在 Windows 窗体中承载 Windows Presentation Foundation 复合控件 【转载】
  7. 一步步编写操作系统 10 cpu的实模式
  8. 软工 课堂作业:选出一个整数组中最大子数组
  9. elk处理基础数据_使用ELK堆栈和Ruby构建数据处理管道
  10. (02)Verilog HDL模块
  11. iOS开发之五:常用控件--UITextField的使用
  12. Servlet(二)GenericServlet
  13. 图像分割(多分类)将mask变为one hot label
  14. ftp连接服务器连接不上,xshell可以连接上
  15. 【CTF misc python】加密zip和rar文件的枚举解密工具(python代码)
  16. 云计算与海量数据处理技术
  17. 查杀病毒实战----------------》ddg.223 and AnXQV
  18. VS2022无法启动程序,系统找不到指定文件
  19. iOS 3DTouch 开发
  20. 君子签推出AI智能电子合同一体化处理产品,赋能合同业务智能化

热门文章

  1. AutoJs学习-图灵QQ自动聊天机器人
  2. php进程是什么,PHP的进程模型是什么
  3. 【测试管理】版本定义
  4. java 调用 swf 文件上传,swfupload 文件 上传
  5. FTP探测-挖掘鸡2014免费版
  6. 树莓派Pico 开机自动运行程序
  7. Myeclipse10破解版安装包
  8. 小白版教您如何使用SOLIDWORKS MBD
  9. 中国机床行业投资现状与十四五发展战略决策报告2022版
  10. filesplit的Python项目详细描述