主页 > whatsapp > whatsapp群发协议分析

whatsapp群发协议分析

admin whatsapp 2021年03月26日

  whatsapp是非常重要的即时通讯软件,在世界各地都有广泛的使用者,是很多国家下载量最高的社交软件,whatsapp有群发功能,下面为大家介绍一下whatsapp群发协议分析。

whatsapp群发协议分析

  whatsapp群发协议分析:出席(presence)

  出席通知其他实体的网络可用性,并且使你能够知道其他实体是否在线和可用于通讯。它是一个在互联网上沟通和合作的催化剂,因为人们更容易与你交流,如果他们知道你是否在线。只有通过你授权的人才能看到你是否在线。这个授权被称为出席订阅。当你在线时,你向你的服务器宣告你的出席,然后服务器将你在线通知告诉你的联系人,并且获得他们的当前出席显示在你的客户端界面上。

  那么在whatsapp上如何实现这些的了?

  自己出席:

  <presence type="available"></presence>

  订阅用户请求:

  <presence type="subscribe" to="6282111233677@s.whatsapp.net"></presence>

  订阅用户响应:

  <presence from="6282111233677@s.whatsapp.net" type="unavailable" last="1585729610"></presence>

  用户上线通知:

  <presence from="6282111233677@s.whatsapp.net" type="available" last="1585729610"></presence>


  whatsapp群发协议分析:查询(iq)

  查询(IQ)节提供了一种用于请求-应答交互和简单工作流的结构.

  和<message/>节不同,一个IQ节能包含仅有一个有效载荷,用于定义处理的请求或接收人采用的行为。

  发送IQ节的实体必须总是接收一个回复(通常由目的接收者或接受者的服务器产生)。

  请求和应答通过使用id属性跟踪,id属性由请求实体生成,并被包含在应答的实体中

  信息/查询type

  get

  请求实体信息,例如请求注册一个账户(类似于HTTP GET)。

  set

  请求实体提供一些信息或作出一个请求(类似于HTTP POST或PUT)。

  result

  应答实体返回get操作的结果(例如一个实体必须提供信息用来注册账户),或者确认一个set请求(类似于一个HTTP200状态码)。

  error

  应答实体或一个中间实体,例如XMPP服务器,通知请求实体它不能处理get或set请求(例如,因为请求的格式不正确,请求实体无权执行该操作等)。早期在HTTP中使用的数字错误代码已被可扩展错误条件的XML元素取代。

  那么在whatsapp上的一些实际例子。

  心跳请求:

  <iq id="3" xmlns="w:p" type="get" to="s.whatsapp.net">

  <ping>

  </ping>

  </iq>

  心跳响应:

  <iq from="s.whatsapp.net" type="result" id="3" t="1585729914">

  </iq>

  获取缩略图请求:

  <iq id="2" xmlns="w:profile:picture" type="get" to="6285320652292@s.whatsapp.net">

  <picture type="preview">

  </picture>

  </iq>

  获取缩略图响应:

  <iq from="s.whatsapp.net" type="error" id="1">

  <error code="404" text="item-not-found">

  </error>

  </iq>


  whatsapp群发协议分析:消息

  <message/>节是使用基本的“push”方法从一个地方到另一个地方得到消息,消息是不可告知的,它是一种“fire-and-forget”的机制从一个地方到另一个地方快速获取信息。

  消息的type

  normal:单个的消息,对应的回应可能会或者可能不会很快到来。

  chat:在两个实体间店实时对话中交换

  groupchat:多用户聊天室中交换

  headline:发送警告和通告,并不期望有回应

  error:对先前发送消息发生错误,实体检测这个问题将返回一个类型error的消息。

  消息的to:预期收件人的JabberID

  消息的from:发送者的JabberID,from地址不由发送客户端提供,而是由发送者的服务器添加邮戳,以避免地址欺骗。

  消息也包含有载荷元素。核心XMPP规格定义了一些非常基本的有效载荷,例如<body/>和<subject/>,被用于人对人的聊天信息,消息(和其他类的节)可以包含在核心XMPP规格中没有定义的有效载荷。

标签: whatsapp  

微信:maybe3219
QQ:1765272903