999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于IP的彩信收發模塊設計

2011-03-06 09:16:56趙曙光
通信技術 2011年3期

陳 亮,趙曙光,付 鵬

(東華大學 信息科學與技術學院,上海 201620)

0 引言

MMS即彩信,自中國移動于2002年10月提供該項業務以來,彩信以其豐富的媒體形式(文字、圖片、聲音和動畫)和大容量的數據內容,極大提升了用戶體驗,成為備受歡迎的溝通手段。隨著近幾年移動通信的發展,服務提供商(SP)的積累,彩信業務種類的豐富,移動終端的支持,資費的下調,彩信業務必將得到更加廣泛地推廣和應用。

彩信開發主要有WAP方式和基于IP的方式兩種。基于IP的方式有開發簡單,數據包可靠交付等優點,成為當今彩信開發的主要方式。

1 彩信收發流程

1.1 發送流程

撥號連接 GPRS/CDMA2000 1X/3G網絡(GPRS使用CMWAP接入點)后,彩信發送方通過 WSP/HTTP POST方法發送M-Send.req數據包到彩信中繼器(MMS Proxy-Relay),該服務器將彩信交給彩信服務器存儲(彩信中繼器和各類彩信服務器合起來構成彩信消息中心 MMSC),并向發送方發送M-Send.conf回復數據包。回復數據包中包含發送請求的狀態碼,如果彩信中心接收到彩信,并且彩信內容完好,則該狀態碼置為“OK”(編碼為0x80)[1]。

1.2 接收流程

接收分為延時接收和立即接收兩種方式。立即接收是接收方在收到WAP PUSH通知消息后(M-Notification.ind),根據其中包含的彩信存取 URL地址,通過WSP/HTTP GET方法發送提取彩信的請求。GET方法不包含MMS數據包。彩信中繼器在回復數據包M-retrieve.conf中包含彩信數據。接收方收到彩信后回復 M-NotifyResp.ind,若判斷彩信提取成功,則將其中的接收狀態碼置為“Received”(編碼為0x81)。

若是延時接收方式,接收方在收到通知后,先向彩信中繼器發送 M-NotifyResp.ind,其中狀態碼置為“Deferred”。接收方提取時還是通過WSP/HTTP GET,在得到彩信中繼器回復的M-retrieve.conf后,發送確認數據包M-AckNow Ledge.ind確認接收成功。

之后彩信中繼器發送接收報告(M-delivery.ind)通知發送方[2-3]。

2 彩信實現方式

目前彩信有兩種實現方式,基于WAP方式和基于IP方,分別對應圖1中無線傳輸為WAP協議和HTTP協議[4]。

圖1 WAP網絡架構

2.1 WAP方式

WAP協議棧包括WTP、WSP和WDP。彩信終端和WAP網關之間使用 WAP協議,WAP網關和彩信中心之間使用HTTP協議[4]。WAP方式中WAP網關需要進行WAP協議和HTTP協議的轉換,效率低,速度慢,并且采用面向非連接的UDP協議,難免發生丟包現象,導致發送成功率不高。

2.2 IP方式

彩信終端通過W-HTTP(Wireless Profiled HTTP)直接與彩信中心通信。WAP網關只是在發送WAP PUSH通知消息的時候使用。基于IP的實現方式由于采用面向連接(TCP協議)的可靠交付,發送成功率較高,并且HTTP協議相對WAP協議實現起來要簡單的多,開發難度小。基于IP方式是開發彩信的首選方案。

3 HTTP Client實現方案

在 Windows平臺進行網絡程序開發, 可以使用不同的庫常用的有:

①Winsock和ws2_32。Winsock工作于網絡層和傳輸層的開發庫,對于編寫 TCP,UDP,以及原始 IP通信程序非常合適。Windows平臺上的大多數程序,如QQ,訊雷等都基于其開發。ws2_32,是Winsock的升級版本;

②WinInet,Windows Internet擴展庫,工作于應用協議層,提供了HTTP,ftp,gopher協議的實現,為基于以上三種協議的程序開發提供基礎平臺,用于開發客戶端程序。基于WinInet的應用程序最著名的例子就是IE了。

相比較而言,winsock更為靈活,WinInet更為方便,卻也不失靈活性。使用WinInet不需要深入了解TCP/IP協議,省去了很多工作,實現簡單,而且WinInet支持緩沖機制、安全機制和WEB代理訪問,性能更優。所以選用WinInet來實現。

4 彩信客戶端設計

4.1 整體構架設計

如圖 2所示。彩信經過編輯后通過彩信客戶端(MMS Client)發送。接收方通過MMS Client接收彩信后存到數據庫中,再由播放模塊進行播放。在收發過程中同時在界面顯示發送進度,并可手動取消收發。

MMS Client工作流程圖如圖3所示。由于彩信收發屬于網絡操作,往往占用較長時間,所以采用WinInet異步工作方式,這樣節省了系統資源,使得系統不需要一直等待彩信收發結束再響應其他操作,也使得用戶可以在收發期間主動終止收發,增加實用性。利用線程間通信機制,在每發送部分彩信數據后將相關信息上報給主線程,實現了進度上報。采用多線程方式,每個線程創建一個MMS Client類對象,分別存儲每條彩信的相關信息,以支持彩信并發功能。

圖2 HTTP Client在整個架構中的位置

圖3 HTTP Client流程

4.2 發送流程設計

WinInet異步API調用流程如下:

①CreateThread,創建子線程,注冊線程號;

②InternetOpen,初始化WinInet.dll,需指定是異步;

③InternetSetStatusCallback,設置回調,用于處理HTTP事件;

④InternetConnect,建立Internet連接;

⑤HTTPOpenRequest,打開一個HTTP請求的句柄;

⑥HTTPSendRequertEx,向HTTP服務器發送指定的請求,等待發送請求結束;

⑦InternetWriteFile,將彩信數據寫到一個打開的Internet文件,等待請求完成或超時,并向上層線程報告發送進度;

⑧重復⑦直至彩信數據包發送結束;

⑨HTTPEndRequest,結束一個HTTP請求,等待響應接收完畢;

⑩HTTPQueryInfo,查詢所需項,例如 STATUS_CODE和CONTENT_LENGTH;

需要注意的是,HTTPSendRequertEx發送的HTTP頭需符合rfc2616協議規范;InternetWriteFile發送的彩信數據包需符合OMA MMS V1_2協議規范。否則這些API調用將出錯或得不到彩信中心的HTTP 200 OK響應。當然僅僅得到HTTP 200 OK[5]頭還不夠,還要看數據包是否包含M-Send.conf規定的MMS頭[6]。

4.3 接收流程設計

接收流程與發送基本相似,只是 InternetOpen、InternetConnect 、HTTPOpenRequest幾個函數的參數設置不同,比如發送中HTTPOpenRequest使用“POST”參數,而接收中使用“GET”。接收流程不需步驟⑦、步驟⑧。

4.4 網絡影響

在網絡信號較差,不穩定的情況下,比如在地鐵上,彩信發送成功率會降低。盡管基于IP方式采用可靠地數據交付,但網絡很差時往往引起請求超時,導致發送失敗。為提高發送成功率,可將建立連接的請求重復發送,以確保能建立起連接(該處是 WinInet API的一個漏洞,無法利用 Internet SetOption設置超時時間[7])。在建立連接之后,InternetWrite File發數據時即使超時也不會引起網絡重置,只是需要將此次發送失敗的數據重新發送。彩信就可以擁有充足的時間來發送,網絡好的時候能繼續發送數據,網絡差的時候相當于在等待了。這種機制使得在網絡較差時發送成功率也會提高。

5 結語

為了增加用戶體驗,無線數據卡一般除了提供上網功能外,還提供了短信和電話功能,使得無線數據卡相當于一個簡易的 PC上的手機。這里設計的彩信功能,同樣將手機中的彩信功能在數據卡中實現,大大豐富了數據卡的附加值。而且,PC上的多媒體資源也更加豐富,同時克服了各手機廠商對彩信媒體格式支持不同的缺點,提高了彩信的播放質量。由于使用IP方式實現,也省去了WAP網關對HTTP/TCP和 WSP/WSP/WDP的轉換,提高了彩信收發速度[8]。利用這里設計的模塊也很容易擴展電子郵件功能。

[1] 江亮亮,李洋洋.基于PC的彩信收發管理系統的設計[J].黑龍江科技信息,2008,4(11):4.

[2] GWENA?L LE BODIC.Mulitimedia Messaging Service[M].USA:John Wiley & Sons,2003:53-110

[3] STEVEN.OMA-ERP-MMS-V1_2-25-429-A[EB/OL].(2005-03-01)[2010-01-09].http://www.openmobile alliance.org/Technical/ release_program/mms_v1_2.aspx.

[4] ROYEWO.technical_WAP2_0-20021106 [EB/OL].(2002-11-06)[2010-01-09].http://www.openmobilealliance.org/Technical/W APindex.aspx#WAP20.

[5] BERNER.HypertextTransferProtocol--HTTP/1.1 [EB/OL](1999-06)[2010-01-12].http://datatracker.ietf.org/doc/rfc2616/ .

[6] 黃戰華,魏凱.基于 GPRS和 Socket機制實現多媒體消息傳輸的研究[J].通信技術,2007,40(11):376-378.

[7] Mircosoft.About WinInet [EB/OL] (2009-12-01)[2010-01-12].http://msdn.microsoft.com/en-us/library/aa385331(v=VS.85).aspx

[8] 王欣,畢紅軍.MMS的三種DRM方式及應用[J].通信技術,2005(增刊):159-160.

主站蜘蛛池模板: 亚瑟天堂久久一区二区影院| 亚洲精品麻豆| 九九热视频精品在线| 欧美日韩中文国产va另类| 自拍欧美亚洲| 日韩乱码免费一区二区三区| 国产成人1024精品下载| 亚洲国产成熟视频在线多多| 久操中文在线| 亚洲三级成人| 亚洲大学生视频在线播放| 无码中文字幕加勒比高清| 奇米精品一区二区三区在线观看| 亚洲第一极品精品无码| 视频一区亚洲| 女人18毛片久久| 亚洲精品老司机| 久久久久免费精品国产| 免费人成视网站在线不卡| 99色亚洲国产精品11p| 国产无码高清视频不卡| 精品国产三级在线观看| 国产精品久久久久久久久kt| 青青操视频在线| 日本一本正道综合久久dvd| 狼友视频一区二区三区| 丁香婷婷久久| 亚洲熟女中文字幕男人总站| 精品午夜国产福利观看| 香蕉蕉亚亚洲aav综合| 色亚洲激情综合精品无码视频 | 综合亚洲色图| 久久久久国产一级毛片高清板| 五月天丁香婷婷综合久久| 漂亮人妻被中出中文字幕久久| 日韩天堂在线观看| 成人福利免费在线观看| 夜色爽爽影院18禁妓女影院| 欧美一级一级做性视频| 色综合网址| 国产白丝av| 国产在线98福利播放视频免费| 香蕉精品在线| 国产精品成人免费视频99| 国产精品嫩草影院av| 国产精品美女免费视频大全| 又黄又爽视频好爽视频| 国产69精品久久久久妇女| 久久国产乱子| 亚洲专区一区二区在线观看| 国内精自视频品线一二区| 久久婷婷六月| 日韩精品亚洲精品第一页| 色悠久久久久久久综合网伊人| 国产成人精品2021欧美日韩| 国产第一色| 色AV色 综合网站| 精品无码一区二区三区电影| 人妻免费无码不卡视频| 天堂成人av| 日韩天堂网| 欧美区国产区| 四虎永久免费网站| 久久精品免费看一| 中国特黄美女一级视频| 在线va视频| 久青草国产高清在线视频| 国产乱子伦一区二区=| 亚洲第一av网站| 青青青亚洲精品国产| h视频在线播放| 免费欧美一级| 亚洲人精品亚洲人成在线| 成人国产精品网站在线看| 亚洲精品欧美重口| 青青热久免费精品视频6| 欧美国产精品不卡在线观看| 99re精彩视频| 玖玖精品在线| 日本三级欧美三级| 国产黄色视频综合| 日本黄色不卡视频|