MMS協議解析1 zz

2021-04-08 18:37:39 字數 1300 閱讀 8573

**

http://publishblog.blogchina.com/blog/tb.b?diaryid=5400413 簡介

mms是什麼

哈!看起來開始有趣了!

讓我們從這裡開始--包和流

mms協議包有兩種:命令包和資料報。

首先,讓我們來處理命令包

mms協議使用一段命令來完成多種人物,比如:連線到流伺服器、請求檔案、丟包重傳請求及類似事宜。這是應用層協議,在這一層上**使用者和伺服器進行通訊。這些都要傳輸到使用者。

mms命令包頭

下面分析mms包頭結構。以下是小端格式。左邊=lsb,右邊=msb。0f 00 00 00 就相當於0f。

開始 ---->

4bytes = 01 00 00 [00]

從client發出的格式是固定的。[00]域從伺服器發出的時候是可以發生變化的。現在不能理解這個位元的含義--總是0,可能是版本號。

4bytes = ce fa 0b b0

命令id值,或許是版本或者序列號。這總是固定的。如果你按照大端來讀就是「boob face」.可能是巧合吧。

4bytes

命令資料報長度,計算到全部資料末尾。單位為位元,從協議型別域之後開始計算。

4bytes = 4d 4d 53 20

協議型別,固定值為mms<空格>的ascii。

4 bytes

直到包尾的長度,8位元為單位。包含自身資料域。例如,8bytes,value = 1。

4 bytes

序列號。命令是由客戶端發向伺服器的,序列號的計數從0開始。命令的響應擁有同樣的序列號。也就是說序列號就是echo。客戶端總是發起命令。

8 bytes

雙精度時間戳,用於網路時序。

4 bytes

到包尾的長度,單位為8位元。包括自身。例如,8 bytes ,value = 1。

comm 2bytes | dir 2bytes

標誌命令方向流的值。命令值含義參考mms命令列表。對於方向域,0x03 = 向伺服器,0x02 = 向客戶端。

----> 長度為40位元的命令頭到此為止。

命令包長度跟在其後,先是『prefix 1』然後是『prefix 2』,接下來直到命令包結束都是『command specific data』。命令指定資料可以是字串文字『unicode 16bit』,或者是raw 8位資料。在prefix 資料解說之後可以看到命令特定資料段含義。

命令包通常都包括上述內容,最小位元組是40。命令包頭是作為命令傳送的最小包。注意:包長域包括到包末尾所有的padding。

輕鬆玩轉新編日語1 zz江滬

第二課 之第一講 呼呼,今天開始,新編日語就開講啦!大家起立鼓掌!啪啪啪啪啪啪啪 你們打我耳光打夠了吧?好!大家開心的笑了,那我們就以這樣輕鬆的心態來學習這新編日語吧 首先,我先把這一課的詞彙寫出來,大家注意看我哈!不看我你們怎麼知道黑板長啥樣捏?日語詞彙 中文釋義 詞性 這個 代詞 無意義 提示助...

8種Java排序演算法總結1 ZZ

這裡主要對8種排序演算法做個總結,分別是插入排序,選擇排序,氣泡排序,希爾排序,歸併排序,堆排序,快速排序以及基數排序。1 插入排序 比較和交換的時間複雜度為o n 2 演算法自適應,對於資料已基本有序的情況,時間複雜度為o n 演算法穩定,開銷很低,適合於資料已基本有序或者資料量小的情況。publ...

單匯流排協議解析(1 wire)

1.定義 主機和從機通過1根線進行通訊,在一條匯流排上可掛接的從器件數量幾乎不受限制。2.特點 這是由達拉斯半導體公司推出的一項通訊技術。它採用單根訊號線,既可傳輸時鐘,又能傳輸資料,而且資料傳輸是雙向的。3.優點 單匯流排技術具有線路簡單,硬體開銷少,成本低廉,便於匯流排擴充套件和維護等。二 單匯...