android基於openfire+smack開發之【架構瞭解】
一、什麼是XMPP?
Extensible Messaging and Presence Protocol,簡單的來講,它就是一個傳送接收處理訊息的協議,但是這個協議傳送的訊息,既不是二進位制的東東也不是字串,而是XML。二、什麼是IM?
Instant Messenger,及時通訊軟體,就是大家使用的QQ、MSN Messenger和Gtalk等等。其中Gtalk 就是基於XMPP 協議的一個實現,其他的則不是。當前IM 幾乎作為每個上網者必然使用的工具,在國外的大型企業中有一些企業級的IM應用,但是其商業價值還沒完全發揮出來。設想既然XMPP 協議是一個公開的協議,那麼每個企業都可以利用它來開發適合本身企業工作,提高自身生產效率的IM;甚至,你還可以在網路遊戲中整合這種通訊軟體,不但讓你可以邊遊戲邊聊天,也可以開發出適合遊戲本身的IM 應用,比如說一些遊戲關鍵場景提醒功能,團隊語音交流等等都可以基於IM來實現。
三、整體架構圖是怎樣的?
四、架構中各個節點代表什麼?
Spark 提供了客戶端一個基本的實現,並提出了一個很好的外掛架構,這對於開發者來說不能不說是一個福音。我強烈建議基於外掛方式來實現你新增加的功能,而不是去改它的原始碼,這樣有利於你專案架構,把原始專案的影響降到最低
Openfire 是基於XMPP 協議的IM 的伺服器端的一個實現,雖然當兩個使用者連線後,可以通過點對點的方式來傳送訊息,但是使用者還是需要連線到伺服器來獲取一些連線資訊和通訊資訊的,所以伺服器端是必須要實現的。Openfire 也提供了一些基本功能,但真的很基本的!慶幸的是,它也提供外掛的擴充套件,像Spark 一樣
Smack 是一個XMPP 協議的Java 實現,提供一套可擴充套件的API,不過有些時候,你還是不得不使用自己定製傳送的XML 檔案內容的方式來實現自己的功能
轉自:http://www.cnblogs.com/yangzhong/archive/2012/08/27/2658027.html
相關文章
- Android架構系列-基於MVP建立適合自己的架構Android架構MVP
- 基於Python+Django+Jquery架構的Web開發PythonDjangojQuery架構Web
- Android 基於註解IOC元件化/模組化的架構實踐Android元件化架構
- 基於微服務架構開發線上教育網站微服務架構網站
- Android API開發之OpenGL開發之Android OpenGL STL詳解AndroidAPI
- 簡單瞭解 TiDB 架構TiDB架構
- 瞭解 Linkerd Service Mesh 架構架構
- 快速瞭解雲原生架構架構
- Java開發架構篇:領域驅動設計架構基於SpringCloud搭建微服務Java架構SpringGCCloud微服務
- Android:四大架構的優缺點,你真的瞭解嗎?Android架構
- 基於Python的web架構之Tornado+FlaskPythonWeb架構Flask
- Android Jetpack 架構元件之 NavigationAndroidJetpack架構元件Navigation
- 剖析 Android 架構元件之 ViewModelAndroid架構元件View
- Android 官方架構元件之 LifecycleAndroid架構元件
- Android NDK開發之JNI基礎Android
- 深入瞭解Mybatis架構設計MyBatis架構
- 瞭解ansible架構與工作原理架構
- 移動端開發基礎瞭解
- Android架構元件WorkManager詳解Android架構元件
- MySQL之基礎架構MySql架構
- 【Android架構】基於MVP模式的Retrofit2+RXjava封裝之檔案下載(二)Android架構MVP模式RxJava封裝
- 【Android架構】基於MVP模式的Retrofit2+RXjava封裝之斷點下載(五)Android架構MVP模式RxJava封裝斷點
- 【Android架構】基於MVP模式的Retrofit2+RXjava封裝之檔案上傳(三)Android架構MVP模式RxJava封裝
- 【Android架構】基於MVP模式的Retrofit2+RXjava封裝之常見問題(四)Android架構MVP模式RxJava封裝
- Android Jetpack架構元件(七)之WorkManagerAndroidJetpack架構元件
- 初學 Android 架構元件之 LifecycleAndroid架構元件
- 初學 Android 架構元件之 ViewModelAndroid架構元件View
- Android系統架構詳解(2)--Android RuntimeAndroid架構
- 淺談基於 Laravel 開發的 MeEdu 的微服務架構設計Laravel微服務架構
- 中級Android開發應該瞭解的Binder原理Android
- 基於SpringCloud分散式架構SpringGCCloud分散式架構
- 【Android架構】基於MVP模式的Retrofit2+RXjava封裝(一)Android架構MVP模式RxJava封裝
- 【Android架構】基於MVP模式的Retrofit2+RXjava封裝之資料預處理(六)Android架構MVP模式RxJava封裝
- android 基於dex的外掛化開發Android
- Android 架構之長連線技術Android架構
- 軟考 - 系統架構設計師(基於中介軟體的開發)架構
- 基於SpringCloud的Microservices架構實戰案例-架構拆解SpringGCCloudROS架構
- 容器雲架構–瞭解 Kubernetes 網路模型架構模型
- 瞭解Kubernetes主體架構(二十七)架構