WAP協議研究筆記 mdash 彩信的傳輸

2021-05-12 08:02:35 字數 2784 閱讀 2177

彩信(mms)和wap瀏覽器是wap協議的兩大主要應用。wap協議有點複雜,也算是smartphone中的 核心技術之一吧,它包括wdp/wtp/wsp這一套傳輸協議,也包括wml/和smil這樣的內容表示協議。去年花了一點時間去研究它,後來該任務取消 了,所以沒有搞得太透徹。今年要真正使用了,現在繼續研究,主要側重於它的實現。這裡記錄一些研究筆記,本文是關於彩信的。

彩信的架構。彩信和其它wap 應用的架構差不多,都要經過wap gateway中轉。要注意的是彩信並非直接投遞給接收方,而是像郵件一樣,先傳送給乙個中間伺服器mms proxy-relay。mms proxy-relay暫時儲存彩信,然後通過push協議給彩信接收方傳送乙個通知,彩信接收方收到通知後從mms proxy-relay上獲取彩信內容。mms client和wap gateway之間用wap傳輸協議傳輸,而wap gateway和mms proxy-relay之間走傳統的tcp/ip協議。

彩信的互動過程。對彩信客戶端實現者來說,我們主要關心:彩信傳送方與mms proxy-relay之間的互動和彩信接收方和mms proxy-relay之間的互動,這包括下列幾個過程。

l 傳送過程。這是彩信傳送方把彩信傳送給mms proxy-relay的過程,mms proxy-relay在收到彩信後會給傳送方乙個確認訊息。

l 通知過程。為了把彩信投遞給接收方,mms proxy-relay要通過push協議給接收方傳送一條彩信通知訊息,這個訊息通常是一條特殊簡訊,裡面包含彩信的位置url。

l 彩信接收。接收方收到彩信通知後,從中取出url,然後通過標準的http get請求從mms proxy-relay上獲取彩信。

l 彩信回執。當mms proxy-relay成功的通知彩信接收方後,它會給彩信傳送方傳送乙個訊息表明彩信投遞成功。

l 彩信閱讀回執。彩信閱讀回執是一條新彩信,它的傳遞過程和普通彩信沒有什麼差別,只是不能再有閱讀回執。

彩信的pdu。pdu 即協議資料單元,對應前面每種訊息的訊息格式。彩信的pdu和http協議極為類似,當然相對來說要簡單多了。它定義了一些常用的訊息域,有的訊息域是公 有的,每種訊息都可以使用,有的訊息域是專用的,只有特定的訊息才能使用。除了常用的訊息域外,也可以自定義訊息域,自定義訊息域以x-打頭,但不能以 x-mms-打頭。常用的訊息域如:

l x-mms-message-type

l x-mms-transaction-id

l x-mms-mms-version

l date

l from

l to

l cc

l bcc

l subject

l x-mms-message-class

l x-mms-expiry

l x-mms-delivery-time

l x-mms-priority

l x-mms-sender-

l visibility

l x-mms-delivery-report

l x-mms-read-reply

l content-type

pdu的型別有:

l 傳送請求。m-send-req

l 傳送確認。m-send-conf

l 彩信通知。m-notification-ind

l 通知回應。m-notifyresp-ind

l 獲取彩信回應。m-retrieve-conf

l 接收確認。m-acknowledge-ind

l 彩信回執。m-delivery-ind

獲取彩信只是乙個普通的http get請求,而沒有專門的pdu。

彩信的pdu編碼。彩信pdu在語義上與http協議類似,但是其編碼方式並不一樣,為了充分利用頻寬,彩信pdu採用二進位制方式編碼。其編碼規則很簡單,預定義的訊息域的key都有唯一的單位元組編碼,如:

key編碼

bcc0x01

cc0x02

content-location

0x03

content-type

0x04

date

0x05

delivery-report

0x06

delivery-time

0x07

expiry

0x08

from

0x09

message-class

0x0a

message-id

0x0b

message-type

0x0c

mms-version

0x0d

message-size

0x0e

priority

0x0f

read-reply

0x10

report-allowed

0x11

response-status

0x12

response-text

0x13

sender-visibility

0x14

status

0x15

subject

0x16

to0x17

transaction-id

0x18

而訊息域的value部分,如果只有幾個固定的可選值,這幾個值也用單子節的編碼,由於這些值只出現在特定的上下文中,所以無需要全域性唯一。

WAP協議研究筆記 彩信的傳輸

彩信 mms 和wap瀏覽器是wap協議的兩大主要應用。wap協議有點複雜,也算是smartphone中的 核心技術之一吧,它包括wdp wtp wsp這一套傳輸協議,也包括wml 和smil這樣的內容表示協議。去年花了一點時間去研究它,後來該任務取消 了,所以沒有搞得太透徹。今年要真正使用了,現在...

WAP協議研究筆記 彩信的傳輸

彩信 mms 和wap瀏覽器是wap協議的兩大主要應用。wap協議有點複雜,也算是 artphone中的核心技術之一吧,它包括wdp wtp wsp這一套傳輸協議,也包括wml 和 il這樣的內容表示協議。去年花了一點時間去研究它,後來該任務取消了,所以沒有搞得太透徹。今年要真正使用了,現在繼續研究...

什麼是WAP協議

誕生之初,wap被吹捧為一種革命性的通訊應用技術,整個移動計算世界都似乎都要因其改頭換面。然而,wap和採用wap協議的各類服務卻因為移動裝置 流動網路本身的侷限性而並沒有起到人們所預想的作用,流動網路和裝置的主要侷限在於 wap 和 wml wml 無線標記語言 wireless markup l...