您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通訊產(chǎn)品>手機(jī)>

WAP協(xié)議研究—彩信的傳輸

2009年12月19日 13:29 www.ttokpm.com 作者:佚名 用戶評論(0

WAP協(xié)議研究—彩信的傳輸

彩信(MMS)和WAP瀏覽器是WAP協(xié)議的兩大主要應(yīng)用。WAP協(xié)議有點(diǎn)復(fù)雜,也算是SmartPhone中的核心技術(shù)之一吧,它包括WDP/WTP/WSP這一套傳輸協(xié)議,也包括WML/和SMIL這樣的內(nèi)容表示協(xié)議。去年花了一點(diǎn)時間去研究它,后來該任務(wù)取消了,所以沒有搞得太透徹。今年要真正使了,現(xiàn)在繼續(xù)研究,主要側(cè)重于它的實(shí)現(xiàn)。這里記錄一些研究筆記,本文是關(guān)于彩信的。
?
彩信的架構(gòu)。彩信和其它WAP應(yīng)用的架構(gòu)差不多,都要經(jīng)過WAP Gateway中轉(zhuǎn)。要注意的是彩信并非直接投遞給接收方,而是像郵件一樣,先發(fā)送給一個中間服務(wù)器MMS Proxy-Relay。MMS Proxy-Relay暫時保存彩信,然后通過push協(xié)議給彩信接收方發(fā)送一個通知,彩信接收方收到通知后從MMS Proxy-Relay上獲取彩信內(nèi)容。MMS Client和WAP Gateway之間用WAP傳輸協(xié)議傳輸,而WAP Gateway和MMS Proxy-Relay之間走傳統(tǒng)的TCP/IP協(xié)議。
wap_mmsarch?
彩信的交互過程。對彩信客戶端實(shí)現(xiàn)者來說,我們主要關(guān)心:彩信發(fā)送方與MMS Proxy-Relay之間的交互和彩信接收方和MMS Proxy-Relay之間的交互,這包括下列幾個過程。
l???????? 發(fā)送過程。這是彩信發(fā)送方把彩信發(fā)送給MMS Proxy-Relay的過程,MMS Proxy-Relay在收到彩信后會給發(fā)送方一個確認(rèn)消息。
l???????? 通知過程。為了把彩信投遞給接收方,MMS Proxy-Relay要通過PUSH協(xié)議給接收方發(fā)送一條彩信通知消息,這個消息通常是一條特殊短信,里面包含彩信的位置URL。
l???????? 彩信接收。接收方收到彩信通知后,從中取出URL,然后通過標(biāo)準(zhǔn)的HTTP GET請求從MMS Proxy-Relay上獲取彩信。
l???????? 彩信回執(zhí)。當(dāng)MMS Proxy-Relay成功的通知彩信接收方后,它會給彩信發(fā)送方發(fā)送一個消息表明彩信投遞成功。
l???????? 彩信閱讀回執(zhí)。彩信閱讀回執(zhí)是一條新彩信,它的傳遞過程和普通彩信沒有什么差別,只是不能再有閱讀回執(zhí)。
?
彩信的PDU。PDU即協(xié)議數(shù)據(jù)單元,對應(yīng)前面每種消息的消息格式。彩信的PDU和HTTP協(xié)議極為類似,當(dāng)然相對來說要簡單多了。它定義了一些常用的消息域,有的消息域是公有的,每種消息都可以使用,有的消息域是專用的,只有特定的消息才能使用。除了常用的消息域外,也可以自定義消息域,自定義消息域以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???????? 發(fā)送請求。m-send-req
l???????? 發(fā)送確認(rèn)。m-send-conf
l???????? 彩信通知。m-notification-ind
l???????? 通知回應(yīng)。m-notifyresp-ind
l???????? 獲取彩信回應(yīng)。m-retrieve-conf
l???????? 接收確認(rèn)。m-acknowledge-ind
l???????? 彩信回執(zhí)。m-delivery-ind
?
?
獲取彩信只是一個普通的HTTP GET請求,而沒有專門的PDU。
?
彩信的PDU編碼。彩信PDU在語義上與HTTP協(xié)議類似,但是其編碼方式并不一樣,為了充分利用帶寬,彩信PDU采用二進(jìn)制方式編碼。其編碼規(guī)則很簡單,預(yù)定義的消息域的KEY都有唯一的單字節(jié)編碼,如:
?
而消息域的Value部分,如果只有幾個固定的可選值,這幾個值也用單子節(jié)的編碼,由于這些值只出現(xiàn)在特定的上下文中,所以無需要全局唯一。

非常好我支持^.^

(3) 100%

不好我反對

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評論

      用戶評論
      評價(jià):好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?