彩信(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...