whatsapp群發協議分析

  

  

今天一米智能WhatsApp群發軟件來給大家說一說whatsapp群發協議分析。


whatsapp群發協議分析


whatsapp主要采用XMPP協議來做數據包組織。那么從XMPP的幾個要點來分析whatsapp的協議。


1、出席(presence)


出席通知其他實體的網絡可用性,并且使你能夠知道其他實體是否在線和可用于通訊。它是一個在互聯網上溝通和合作的催化劑,因為人們更容易與你交流,如果他們知道你是否在線。只有通過你授權的人才能看到你是否在線。這個授權被稱為出席訂閱。當你在線時,你向你的服務器宣告你的出席,然后服務器將你在線通知告訴你的聯系人,并且獲得他們的當前出席顯示在你的客戶端界面上。

那么在whatsapp上如何實現這些的了?

自己出席:

訂閱用戶請求:

訂閱用戶響應:

用戶上線通知:


2、查詢(iq)


查詢(IQ)節提供了一種用于請求-應答交互和簡單工作流的結構.

和節不同,一個IQ節能包含僅有一個有效載荷,用于定義處理的請求或接收人采用的行為。

發送IQ節的實體必須總是接收一個回復(通常由目的接收者或接受者的服務器產生)。

請求和應答通過使用id屬性跟蹤,id屬性由請求實體生成,并被包含在應答的實體中

信息/查詢type

get

請求實體信息,例如請求注冊一個賬戶(類似于HTTP GET)。

set

請求實體提供一些信息或作出一個請求(類似于HTTP POST或PUT)。

result

應答實體返回get操作的結果(例如一個實體必須提供信息用來注冊賬戶),或者確認一個set請求(類似于一個HTTP200狀態碼)。

error

應答實體或一個中間實體,例如XMPP服務器,通知請求實體它不能處理get或set請求(例如,因為請求的格式不正確,請求實體無權執行該操作等)。早期在HTTP中使用的數字錯誤代碼已被可擴展錯誤條件的XML元素取代。


3、信息(ib)


信息(IB)節提供了服務器主動推送一些配置信息,客戶端無需回復。

在whatsapp上的一些實際例子。

通知離線消息數量

通知路由信息

【4】08080802

【2】6662


4、消息


節是使用基本的“push”方法從一個地方到另一個地方得到消息,消息是不可告知的,它是一種“fire-and-forget”的機制從一個地方到另一個地方快速獲取信息。

消息的type

normal:單個的消息,對應的回應可能會或者可能不會很快到來。

chat:在兩個實體間店實時對話中交換

groupchat:多用戶聊天室中交換

headline:發送警告和通告,并不期望有回應

error:對先前發送消息發生錯誤,實體檢測這個問題將返回一個類型error的消息。

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

消息的from:發送者的JabberID,from地址不由發送客戶端提供,而是由發送者的服務器添加郵戳,以避免地址欺騙。

消息也包含有載荷元素。核心XMPP規格定義了一些非常基本的有效載荷,例如和,被用于人對人的聊天信息,消息(和其他類的節)可以包含在核心XMPP規格中沒有定義的有效載荷

  
相關資訊