溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信開(kāi)發(fā)協(xié)議的示例分析

發(fā)布時(shí)間:2021-09-10 14:47:07 來(lái)源:億速云 閱讀:134 作者:小新 欄目:移動(dòng)開(kāi)發(fā)

這篇文章主要介紹微信開(kāi)發(fā)協(xié)議的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1.發(fā)布的消息對(duì)應(yīng)一個(gè)ID(只要單個(gè)方向唯一即可,服務(wù)器端可能會(huì)根ID判斷重復(fù)接收),消息重傳機(jī)制確保有限次的重試,重試失敗給予用戶提示,發(fā)送成功會(huì)反饋確認(rèn),客戶端只有收到確認(rèn)信息才知道發(fā)送成功。發(fā)送消息可能不會(huì)產(chǎn)生新SyncKey。

2.基于版本號(hào)(SynKey)的狀態(tài)消息同步機(jī)制,增量、有序傳輸需求水到渠成。長(zhǎng)連接通知/短連接獲取、確認(rèn)等,交互方式簡(jiǎn)單,確保了消息可靠譜、準(zhǔn)確無(wú)誤到達(dá)。

3.客戶端/服務(wù)器端都會(huì)存儲(chǔ)消息ID處理記錄,避免被重復(fù)消費(fèi)客戶端獲取最新消息,但未確認(rèn),服務(wù)器端不會(huì)認(rèn)為該消息被消費(fèi)掉。下次客戶端會(huì)重新獲取,會(huì)查詢當(dāng)前消息是否被處理過(guò)。根據(jù)一些現(xiàn)象猜測(cè)。

4.總體上看,微信協(xié)議跨平臺(tái)(TCP或HTPP都可呈現(xiàn),處理方式可統(tǒng)一),通過(guò)“握手”同步,很可靠,無(wú)論哪一個(gè)平臺(tái)都可以支持的很好

5.微信協(xié)議最小成本為16字節(jié),大部分時(shí)間若干個(gè)消息包和在一起,批量傳輸。微信協(xié)議說(shuō)不上最簡(jiǎn)潔,也不是最節(jié)省流量,但是非常成功的。

6.若服務(wù)器檢測(cè)到一些不確定因素,可能會(huì)導(dǎo)致微啟用安全套接層SSL協(xié)議進(jìn)行常規(guī)的TCP長(zhǎng)連接傳輸。短連接都沒(méi)有發(fā)生變化

7.發(fā)送消息方式

發(fā)送消息走已經(jīng)建立的TCP長(zhǎng)連接通道,發(fā)送消息到服務(wù)器,然后接受確認(rèn)信息等,產(chǎn)生一次交互。

小伙伴接收到信息閱讀也都會(huì)收到服務(wù)器端通知,產(chǎn)生一次交互等。

可以確定,微信發(fā)送消息走TCP長(zhǎng)連接方式,因?yàn)椴粚?duì)自身狀態(tài)數(shù)據(jù)產(chǎn)生影響,應(yīng)該不交換SyncKey。

在低速網(wǎng)絡(luò)下,大概會(huì)看到消息發(fā)送中的提示,屬于消息重發(fā)機(jī)制

網(wǎng)絡(luò)不好有時(shí)客戶端會(huì)出現(xiàn)發(fā)送失敗的紅色感嘆號(hào)

已發(fā)送到服務(wù)器但未收到確認(rèn)的消息,客戶端顯示紅色感嘆號(hào),再次重發(fā),服務(wù)器作為重復(fù)消息處理,反饋確認(rèn)

上傳圖片,會(huì)根據(jù)圖片大小,分割成若干部分(大概1.5K被劃分為一部分),同一時(shí)間點(diǎn),客戶端會(huì)發(fā)起若干次POST請(qǐng)求,各自上傳成功之后,服務(wù)器大概會(huì)合并成一個(gè)完整圖片,返回一個(gè)縮略圖,顯示在APP聊天窗口內(nèi)。APP作為常規(guī)的文字消息發(fā)送到服務(wù)器端

上傳音頻,則單獨(dú)走TCP通道,一個(gè)兩秒的錄制音頻,客戶端錄制完畢,分為兩塊傳輸,一塊最大1.5K左右,服務(wù)端響應(yīng)一條數(shù)據(jù)通知確認(rèn)收到。共三次數(shù)據(jù)傳輸。

音頻和純文字信息一致,都是走TCP長(zhǎng)連接,客戶端發(fā)送,服務(wù)器端確認(rèn)。

以上是“微信開(kāi)發(fā)協(xié)議的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI