潘曉楠
(黑龍江省節能技術服務中心,哈爾濱 150001)
?
安卓系統通訊協議介紹與研究
潘曉楠
(黑龍江省節能技術服務中心,哈爾濱 150001)
摘要:文中主要說明安卓系統所使用的兩種通訊協議。基于每種模塊的功能需求不同,其所使用的通訊協議也不同,基本通訊功能是基于XMPP協議的,而因為XMPP協議并不支持語音信息的實時傳送,所以語音實時通話功能則要基于實時傳送的RTP/RTGP協議。
關鍵詞:通訊;協議
1XMPP協議
1.1XMPP協議
XMPP即可擴展通訊和表示協議,是一種基于XML的協議,XMPP協議已被批準為互聯網即時通信協議標準。它可用于客戶端與服務器之間XML數據元流式傳輸。該協議包含了針對客戶端的軟件協議,使客戶端能夠與服務器良好通訊,開發者可以更容易的進行客戶端應用程序的開發。它將要傳輸的數據和上下文信息標記嵌入到XML結構化的數據中,來完成客戶端之間的即時通信。
XMPP協議基本的網絡架構就是客戶端通過TGP/IP連接到XMPP服務器,然后在之上傳輸XML,服務器對xivlL信息進行解析并轉發,根據消息的目的地址,將信息傳輸給目的客戶端。
1.2XMPP協議的數據結構
XMPP協議有定義了三種最外層的XML元素,分別為
其中
1.3XMPP協議的工作原理
XMPP協議的工作原理是:首先客戶端連接到服務器,然后服務器利用本地目錄系統中的證書對其認證,然后客戶端指定其通訊的目標地址,讓服務器告知目標客戶端的狀態,繼而服務器經過查找、連接并進行相互認證,最后節點間開始進行交互。
XMPP協議的通訊流程是:首先客戶端先連接到服務器,然后客戶端會向服務器發送XML文件,其中包含了客戶端登錄的用戶名和用戶密碼。當服務器收到XML文件后,解析出相應的用戶名和密碼并與服務器端存儲在數據庫的數據進行比對驗證。如果驗證成功,服務器就會返回給客戶端一個XML文件,表明客戶端通過登錄驗證。然后客戶端再向服務器發送一個XML文件用來請求用戶的好友名單,服務器會將查詢到的數據拼裝成 XML文件返回客戶端。客戶端選擇其中的一個好友,向其發送信息時,信息還會被封裝成XML文件,先傳遞給服務器端,服務器再根據XML的目標地址將XML文件進行轉發,客戶端收到后進行XML解析,解析成可讀的消息,然后進行顯示。
XMPP協議的一個重要的實現庫是smack, Smack是一個由Java語言開發的類庫。其android版本是asmack,通過這個庫可以方便的控制客戶端的信息收發,也可以方便的與XMPP服務器進行互聯,實現基于XMPP協議的相互通訊。
2RTP/RTCP協議
RTP協議,即實時傳輸協議。該協議通過RTP包的序列號和時間戳來重組亂序的RTP包,保證實時傳輸。而RTCP協議在RTP的會話期間周期的發送一些RTCP包用來監聽服務質量和交換會話用戶信息等功能。因此服務器可以利用這些RTCP包中的信息控制數據傳輸,因此通過RTP和RTCP的配合可以很好的進行音頻數據的實時傳輸。
3結束語
未來,人們利用手機等智能設備就可以隨時地接入網絡,進行即時通信,看視頻,手機支付和移動辦公等各種各樣的業務。各種應用將層出不窮,也勢必涉及到用戶的安全隱私,基于Android的開放性,我們可以自主研發安全的通信協議。在未來的研究開發中,與Android通信協議相關的研究和工作并不僅僅局限于前面的內容,還有更多的工作等待發現、挖掘和完成。
參考文獻
[1]陳航,趙方.基于服務器推送技術和XMPP的Web IM系統實現[[J].計算機工程與設計,2010.
[2]李欽德,周文安,馬飛,等.基于RTP / RTCP的Vo口智能切換技術的實現方法研究[J].計算機科學,2011.
[3]施濟瑜,苗放.王華軍,等.基于XMPP協議文件傳輸的研究與實現[[J].計算機測量與控制,2009.
Introduction and Research of Android System Communication Protocol
PAN Xiao-nan
(Heilongjiang Province Energy Saving Technology and Service Center, Harbin 150001, China)
Abstract:This paper mainly illustrates two kinds of communication protocols using the Android system. Functional requirements of each module based on different, they use different communication protocols, the basic communication function is based on the XMPP protocol, and because the real-time transmission of voice information does not support the XMPP protocol, so the real-time voice call function to transmit protocol based on RTP/RTGP.
Key words:Communication; Protocol
中圖分類號:TP393.04
文獻標志碼:B
文章編號:1009-3230(2016)03-0047-02
作者簡介:潘曉楠(1982- ),男,哈爾濱人,畢業于黑龍江大學,大學本科,工程師,從事信息通信工作。
收稿日期:2016-01-11
修訂日期:2016-02-20
doi:10.3969/j.issn.1009-3230.2016.03.012