即時(shí)通訊是目前最為流行的通訊方式,而各種各樣的即時(shí)通訊軟件也層出不窮;服務(wù)提供商也提供了越來(lái)越豐富的通訊服務(wù)功能。隨著互聯(lián)網(wǎng)的發(fā)展,即時(shí)通訊的運(yùn)用將日益廣泛,即時(shí)通訊軟件業(yè)方興未艾。 如今市場(chǎng)競(jìng)爭(zhēng)越來(lái)越激烈,如何在有限的時(shí)間內(nèi)完成項(xiàng)目,滿(mǎn)足客戶(hù)的需求成為企業(yè)決策者所需要面對(duì)的現(xiàn)實(shí)。推薦一下佰銳科技的AnyChat SDK可以讓企業(yè)越過(guò)復(fù)雜的底層技術(shù)實(shí)現(xiàn),而把主要精力投入項(xiàng)目的業(yè)務(wù)邏輯處理上,加快項(xiàng)目開(kāi)發(fā)進(jìn)展,從而為企業(yè)贏得市場(chǎng)先機(jī)。 下面介紹一個(gè)基于Android 平臺(tái)的簡(jiǎn)易即時(shí)通訊系統(tǒng),研究了在開(kāi)源服務(wù)器Openfire 上各個(gè)移動(dòng)客戶(hù)端和服務(wù)器之間的通信系統(tǒng)結(jié)構(gòu),實(shí)現(xiàn)了客戶(hù)端功能。
Android 平臺(tái)框架共由5 部分組成。底層核心是基于Linux 2.6內(nèi)核開(kāi)發(fā)的獨(dú)立操作系統(tǒng),該層用來(lái)提供系統(tǒng)的底層服務(wù),包括安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧及一系列的驅(qū)動(dòng)模塊。中間是Android 執(zhí)行環(huán)境,包括系統(tǒng)運(yùn)行庫(kù)、Dalvik 虛擬機(jī)、核心庫(kù)和一些C /C ++庫(kù)等支持Android 使用的各個(gè)組件。應(yīng)用層框架是開(kāi)發(fā)人員使用這些API 框架來(lái)開(kāi)發(fā)自己的應(yīng)用,簡(jiǎn)化了應(yīng)用程序開(kāi)發(fā)的架構(gòu)設(shè)計(jì)。應(yīng)用層程序是用Java語(yǔ)言編寫(xiě)的運(yùn)行在虛擬機(jī)上的程序。
即時(shí)通訊(IM)是一個(gè)終端連往一個(gè)即時(shí)通訊網(wǎng)路的服務(wù)。即時(shí)通訊與e-mail 的不同在于它的交談是即時(shí)的。大部分的即時(shí)通訊服務(wù)提供了在線提醒的特性——顯示聯(lián)絡(luò)人名單,聯(lián)絡(luò)人是否在線,能否與聯(lián)絡(luò)人交談等。近幾年即時(shí)通訊發(fā)展特 別迅速,即時(shí)通訊的功能日益豐富,由PC 客戶(hù)端發(fā)展到移動(dòng)客戶(hù)端,逐漸發(fā)展成一個(gè)綜合化信息平臺(tái),國(guó)內(nèi)市場(chǎng)上知名的即時(shí)通訊工具有騰訊QQ,新浪UC,中國(guó)移動(dòng)飛信等,但這些產(chǎn)品都有著很?chē)?yán)重的安全威脅,如ID 被盜、隱私威脅、病毒威脅等。
為了減小這些威脅,可以在企業(yè)內(nèi)部開(kāi)發(fā)自己的即時(shí)通訊軟件,減少為未知用戶(hù)帶來(lái)的威脅。
在Android 平臺(tái)上開(kāi)發(fā)即時(shí)手機(jī)通訊系統(tǒng),它能夠使用戶(hù)在手機(jī)客戶(hù)端上登錄服務(wù)器,方便、迅捷地收發(fā)即時(shí)消息。隨著研究的深入,可以在該系統(tǒng)上實(shí)現(xiàn)圖片的傳輸和接收,以及其他一些功能,這樣可以使該系統(tǒng)功能更加多樣化。通訊系統(tǒng)架構(gòu)采用C /S 模式,即客戶(hù)端/服務(wù)器的體系結(jié)構(gòu)。客戶(hù)端是基于Android 平臺(tái)進(jìn)行開(kāi)發(fā),通過(guò)3G 網(wǎng)絡(luò)與Internet 建立連接,通過(guò)服務(wù)器實(shí)現(xiàn)Android 客戶(hù)端之間的即時(shí)通訊。
客戶(hù)端負(fù)責(zé)初始化通信過(guò)程,進(jìn)行即時(shí)通訊時(shí),由客戶(hù)端負(fù)責(zé)向服務(wù)器端發(fā)起連接請(qǐng)求。服務(wù)器端采用開(kāi)源的Openfire作為服務(wù)器,允許多個(gè)客戶(hù)端同時(shí)登錄,并且同時(shí)連接到一個(gè)服務(wù)器上。服務(wù)器對(duì)每個(gè)客戶(hù)端進(jìn)行認(rèn)證,對(duì)認(rèn)證通過(guò)的客戶(hù)端創(chuàng)建會(huì)話,實(shí)現(xiàn)客戶(hù)端與客戶(hù)端之間的通訊。
系統(tǒng)的客戶(hù)端定位于Android 平臺(tái)的手機(jī),采用SIMPLE協(xié)議作為即時(shí)通訊協(xié)議,SIMPLE(SIP for Instant Messaging and Presence LeveragingExtensions) 是SIP (Session Initiation Protocol)的擴(kuò)展,它為SIP 協(xié)議制定了一整套的架構(gòu)和擴(kuò)展方面的規(guī)范,用于支持IM。SIMPLE 通過(guò)SIP 來(lái)傳遞狀態(tài)信息和實(shí)現(xiàn)分布的信息表示。根據(jù)協(xié)議規(guī)則,采用Android 平臺(tái)提供的XML 解析包對(duì)XML 進(jìn)行解析。根據(jù)Activity 模塊運(yùn)行于主線程的特點(diǎn),采用多線程技術(shù)來(lái)解決系統(tǒng)通信問(wèn)題。系統(tǒng)的用戶(hù)信息和聊天信息存儲(chǔ)在Android平臺(tái)自身所帶的SQLite 數(shù)據(jù)庫(kù)中。
系統(tǒng)服務(wù)器端采用開(kāi)源的Openfire 來(lái)建立即時(shí)通信服務(wù)器。Openfire 采用Java 語(yǔ)言進(jìn)行開(kāi)發(fā),Java 語(yǔ)言具有跨平臺(tái)的特點(diǎn),因此Openfire 服務(wù)器可以架設(shè)于多種操作系統(tǒng)平臺(tái)上。Openfire服務(wù)器的內(nèi)核主要由服務(wù)器連接管理組件、會(huì)話管理組件、數(shù)據(jù)存儲(chǔ)組件和傳輸器組件等組成。Openfire 實(shí)現(xiàn)了插件機(jī)制,方便擴(kuò)展,通過(guò)安裝與異構(gòu)網(wǎng)絡(luò)通訊的插件,便能與其他的通訊軟件實(shí)現(xiàn)通訊。
在網(wǎng)絡(luò)連接中采用Apache 的Mina 框架來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)連接,Mina 框架使用非阻塞式的高性能I /O 底層,采用異步I /O 事件和事件驅(qū)動(dòng)機(jī)制,使服務(wù)器具有很高的效率和性能,從而能夠及時(shí)處理大量的客戶(hù)端連接事件和I /O 隨機(jī)事件,單臺(tái)服務(wù)器可支持上萬(wàn)個(gè)并發(fā)用戶(hù)。
隨著移動(dòng)通信與Internet 的飛速發(fā)展及其相互融合,3G 無(wú)線網(wǎng)絡(luò)使無(wú)線網(wǎng)絡(luò)高速接入Internet成為現(xiàn)實(shí),從而移動(dòng)客戶(hù)端可以接入到Inter- net 的服務(wù)。系統(tǒng)客戶(hù)終端通過(guò)3G 無(wú)線網(wǎng)絡(luò)采用TCP 協(xié)議連接到服務(wù)器,通過(guò)SIMPLE 即時(shí)通訊協(xié)議進(jìn)行及時(shí)通訊。在移動(dòng)網(wǎng)絡(luò)中,移動(dòng)終端接入到3G 無(wú)線網(wǎng)絡(luò)。網(wǎng)關(guān)移動(dòng)交換中心GMSC(Gateway Mobile Switc- hing Center)為用戶(hù)提供分組路由、隧道和跟蹤移動(dòng)終端的位置等功能。UMTS(Universal Mobile TelecommunicationsSystem)提供3G 網(wǎng)絡(luò)內(nèi)部與外部網(wǎng)絡(luò)的路由和封裝,分配IP 地址,實(shí)現(xiàn)與Internet 網(wǎng)絡(luò)的互通。
服務(wù)器對(duì)用戶(hù)輸入的用戶(hù)名和密碼進(jìn)行身份驗(yàn)證,驗(yàn)證成功后,客戶(hù)端從服務(wù)器端讀取客戶(hù)端的個(gè)人信息,并更新好友列表和群組信息,服務(wù)器端響應(yīng)客戶(hù)端的各種請(qǐng)求,客戶(hù)端可發(fā)送接收信息,通訊完畢退出系統(tǒng)登錄狀態(tài)。這樣,一個(gè)簡(jiǎn)易即時(shí)通訊系統(tǒng)便實(shí)現(xiàn)了。
隨著研究的進(jìn)一步深入,Android的通訊系統(tǒng)會(huì)逐漸完善,相信Android 平臺(tái)的即時(shí)通信系統(tǒng)會(huì)有著很好的應(yīng)用前景!鞍垆J3G手機(jī)視頻開(kāi)發(fā)平臺(tái)”是由佰銳科技獨(dú)立研發(fā),具有自主知識(shí)產(chǎn)權(quán)的手機(jī)視頻開(kāi)發(fā)平臺(tái),為現(xiàn)有的視頻應(yīng)用系統(tǒng)提供手機(jī)終端接入平臺(tái),可應(yīng)用于3G網(wǎng)絡(luò)環(huán)境。是國(guó)內(nèi)首套專(zhuān)門(mén)針對(duì)手機(jī)終端定制的視頻應(yīng)用SDK。
手機(jī)軟件平臺(tái) 手機(jī)操作系統(tǒng)目前支持Windows Mobile 5.0、Windows Mobile 6.0以及Windows Mobile 6.1系列; Symbian S60、蘋(píng)果iPhone OS 3.0和谷歌Android平臺(tái)的手機(jī)終端軟件即將發(fā)布。 手機(jī)硬件平臺(tái) 最低硬件配置 CPU:TI OMAP 850,200MHz ROM:32M RAM:32M 推薦硬件配置 CPU:Qualcomm MSM 7201A,528MHz ROM:128M RAM:128M
詳情可訪問(wèn):http://www.bairuitech.com
|