實現在安卓平臺下的即時通訊

semot926發表於2019-04-11

安卓(android)即時通訊,也就是實現在安卓平臺下的即時通訊。隨著android系統的發展成熟,在即時通訊這一版塊逐漸發展成一個綜合化的資訊平臺。在Android 平臺上開發即時通訊系統,它能夠使使用者在移動客戶端上登入伺服器,方便、迅捷地收發即時訊息。隨著研究的深入,可以在該系統上實現圖片的傳輸和接收,以及其他一些功能,這樣可以使該系統功能更加多樣化。通訊系統架構採用C /S 模式,即客戶端/伺服器的體系結構。客戶端是基於Android 平臺進行開發,透過3G 網路與Internet 建立連線,透過伺服器實現Android 客戶端之間的即時通訊。


發展歷史

    Android 是Google 公司於2007年11月5日推出的手機作業系統,經過2年多的發展,Android平臺在智慧移動領域佔有不小的份額,由Google為首的40 多家行動通訊領域的領軍企業組成開放手機聯盟(OHA)。在2011年初,Google 與運營商、裝置製造商、開發商和其他第三方結成深層次的合作伙伴關係,希望透過建立標準化、開放式的行動電話軟體平臺,在移動產業內形成一個開放式的生態系統。正因如此,Android 正在被越來越多的開發者和使用者所接受。截至2012年9月,安卓市場已經有675000款應用程式。

    即時通訊(IM)是一個終端連往一個即時通訊網路的服務。即時通訊與e-mail 的不同在於它的交談是即時的。大部分的即時通訊服務提供了線上提醒的特性──顯示聯絡人名單,聯絡人是否線上,能否與聯絡人交談等。近幾年即時通訊發展特別迅速,即時通訊的功能日益豐富,由PC 客戶端發展到移動客戶端,逐漸發展成一個綜合化資訊平臺,國內市場上知名的即時通訊工具有信貿通,騰訊QQ,新浪UC,中國移動飛信等,但這些產品都有著很嚴重的安全威脅,如ID 被盜、隱私威脅、病毒威脅等。為了減小這些威脅,可以在企業內部開發自己的即時通訊軟體,減少為未知使用者帶來的威脅。

系統架構

1、系統框架

通訊系統架構採用C/S模式,即客戶端/伺服器的體系結構。客戶端是基於Android 平臺進行開發,透過3G 網路與Internet 建立連線,透過伺服器實現Android 客戶端之間的即時通訊。  

    客戶端負責初始化通訊過程,進行即時通訊時,由客戶端負責向伺服器端發起連線請求。伺服器端採用開源的Openfire作為伺服器,允許多個客戶端同時登入,並且同時連線到一個伺服器上。伺服器對每個客戶端進行認證,對認證透過的客戶端建立會話,實現客戶端與客戶端之間的通訊。

2、客戶端的解決方案

    系統的客戶端定位於Android 平臺的手機,採用SIMPLE協議作為即時通訊協議,SIMPLE(SIP for Instant Messaging and Presence LeveragingExtensions) 是SIP (Session Initiation Protocol)的擴充套件,它為SIP 協議制定了一整套的架構和擴充套件方面的規範,用於支援IM。SIMPLE 透過SIP 來傳遞狀態資訊和實現分佈的資訊表示。根據協議規則,採用Android 平臺提供的XML 解析包對XML 進行解析。根據Activity 模組執行於主執行緒的特點,採用多執行緒技術來解決系統通訊問題。系統的使用者資訊和聊天資訊儲存在Android平臺自身所帶的SQLite 資料庫中。

3、伺服器端解決方案

    系統伺服器端採用開源的Openfire 來建立即時通訊伺服器。Openfire 採用Java 語言進行開發,Java 語言具有跨平臺的特點,因此Openfire 伺服器可以架設於多種作業系統平臺上。Openfire伺服器的核心主要由伺服器連線管理元件、會話管理元件、資料儲存元件和傳輸器元件等組成。Openfire 實現了外掛機制,方便擴充套件,透過安裝與異構網路通訊的外掛,便能與其他的通訊軟體實現通訊。 在網路連線中採用Apache 的Mina 框架來實現網路連線,Mina 框架使用非阻塞式的高效能I /O 底層,採用非同步I /O 事件和事件驅動機制,使伺服器具有很高的效率和效能,從而能夠及時處理大量的客戶端連線事件和I /O 隨機事件,單臺伺服器可支援上萬個併發使用者。

4、通訊系統結構

    隨著行動通訊與Internet 的飛速發展及其相互融合,3G 無線網路使無線網路高速接入Internet成為現實,從而移動客戶端可以接入到Inter- net 的服務。系統客戶終端透過3G 無線網路採用TCP 協議連線到伺服器,透過SIMPLE 即時通訊協議進行及時通訊。在行動網路中,移動終端接入到3G 無線網路。

    閘道器移動交換中心GMSC(Gateway Mobile Switc- hing Center)為使用者提供分組路由、隧道和跟蹤移動終端的位置等功能。UMTS(Universal Mobile TelecommunicationsSystem)提供3G 網路內部與外部網路的路由和封裝,分配IP 地址,實現與Internet 網路的互通。

5、系統工作流程

    伺服器對使用者輸入的使用者名稱和密碼進行身份驗證,驗證成功後,客戶端從伺服器端讀取客戶端的個人資訊,並更新好友列表和群組資訊,伺服器端響應客戶端的各種請求,客戶端可傳送接收資訊,通訊完畢退出系統登入狀態。。

未來展望

   即時通訊是目前最為流行的通訊方式,而各種各樣的即時通訊軟體也層出不窮;服務提供商也提供了越來越豐富的通訊服務功能。目前在安卓平臺下的主流即時通訊軟體有:信貿通、QQ、ICQ、MSN、新浪微博等。隨著網際網路的發展,即時通訊的運用將日益廣泛,即時通訊軟體業方興未艾。隨著研究的進一步深入,基於Android的通訊系統會逐漸完善,相信基於Android 平臺的即時通訊系統會有著很好的應用前景。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29255704/viewspace-2641042/,如需轉載,請註明出處,否則將追究法律責任。

相關文章