實現在安卓平臺下的即時通訊
安卓(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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 中秋禮物!開源即時通訊GGTalk安卓版全新原始碼!安卓原始碼
- flutter 呼叫環信sdk 實現即時通訊Flutter
- 即時通訊
- Java Websocket實現即時通訊功能入門教程JavaWeb
- Avalonia 實現跨平臺的IM即時通訊、語音視訊通話(原始碼,支援信創國產OS,統信、銀河麒麟)原始碼
- Linux安裝即時通訊軟體SignalLinux
- 在Spring Boot中實現WebSocket實時通訊Spring BootWeb
- 在疫情下社交即時通訊行業更具有爆發性行業
- 基於 go-Laravel-broadcast 實現 Laravel 的即時通訊(Broadcasting)GoLaravelAST
- websocket+node實現一個最簡單的即時通訊功能Web
- 即時通訊發展前景怎麼樣?現在狀態是如何
- 區塊鏈IM社交系統開發,IM即時通訊平臺搭建app區塊鏈APP
- 11月5日!《曙光英雄》即將開啟安卓平臺首發安卓
- 即時通訊和即時通訊的區別是什麼,都有什麼特點?
- 透過.NET Core+Vue3 實現SignalR即時通訊功能VueSignalR
- Spring Boot 開發整合 WebSocket,實現私有即時通訊系統Spring BootWeb
- 基於java博網即時通訊軟體的設計與實現Java
- 「實戰」搭建完整的IM(即時通訊)應用(2)
- 「實戰」搭建完整的IM(即時通訊)應用(1)
- koa-socket即時通訊
- 小程式即時通訊demo
- iOS流式即時通訊教程iOS
- 安卓串列埠通訊疑問安卓串列埠
- AndroidSerialPort:安卓串列埠通訊庫Android安卓串列埠
- SpringBoot整合開源IM框架MobileIMSDK,實現即時通訊IM聊天功能Spring Boot框架
- gochat - 純go實現的im即時通訊系統(支援水平擴充套件)Go套件
- 跨平臺可定製的 P2P 即時通訊系統,多端互 通擴充套件能力強套件
- [譯] 在 Android Instant App(安卓即時應用程式)中啟用 ProGuard (混淆)AndroidAPP安卓
- 訊息的即時推送——net實現、websocket實現以及socket.io實現Web
- golang寫的即時通訊伺服器Golang伺服器
- React-Native修改安卓平臺的包名React安卓
- [場景設計]即時通訊
- eddChat即時通訊(聊天系統)
- 通過SignalR技術整合即時通訊(IM)在.NET中應用落地SignalR
- 騰訊互動白板+即時通訊+實時音視訊,Android學生端接入Android
- 安卓哪個手遊平臺好 最火的手遊app平臺安卓APP
- Flutter跨應用更改狀態在安卓端的實現Flutter安卓
- golang寫的即時通訊伺服器gimGolang伺服器