android基於openfire+smack開發之【架構瞭解】

yangxi_001發表於2014-03-05

一、什麼是XMPP?

Extensible Messaging and Presence Protocol,簡單的來講,它就是一個傳送接收處理訊息的協議,但是這個協議傳送的訊息,既不是二進位制的東東也不是字串,而是XML

二、什麼是IM?

Instant Messenger,及時通訊軟體,就是大家使用的QQMSN MessengerGtalk等等。其中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

相關文章