天天看點

android基于openfire+smack開發之【架構了解】 一、什麼是XMPP? 二、什麼是IM? 三、整體架構圖是怎樣的? 四、架構中各個節點代表什麼?

一、什麼是XMPP?

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

二、什麼是IM?

Instant Messenger,及時通信軟體,就是大家使用的QQ、MSN Messenger和Gtalk等等。其中Gtalk 就是基于XMPP 協定的一個實作,其他的則不是。目前IM 幾乎作為每個上網者必然使用的工具,在國外的大型企業中有一些企業級的IM應用,但是其商業價值還沒完全發揮出來。設想既然XMPP 協定是一個公開的協定,那麼每個企業都可以利用它來開發适合本身企業工作,提高自身生産效率的IM;甚至,你還可以在網絡遊戲中內建這種通信軟體,不但讓你可以邊遊戲邊聊天,也可以開發出适合遊戲本身的IM 應用,比如說一些遊戲關鍵場景提醒功能,團隊語音交流等等都可以基于IM來實作。

三、整體架構圖是怎樣的?

android基于openfire+smack開發之【架構了解】 一、什麼是XMPP? 二、什麼是IM? 三、整體架構圖是怎樣的? 四、架構中各個節點代表什麼?

四、架構中各個節點代表什麼?

 Spark 提供了用戶端一個基本的實作,并提出了一個很好的插件架構,這對于開發者來說不能不說是一個福音。我強烈建議基于插件方式來實作你新增加的功能,而不是去改它的源代碼,這樣有利于你項目架構,把原始項目的影響降到最低

Openfire 是基于XMPP 協定的IM 的伺服器端的一個實作,雖然當兩個使用者連接配接後,可以通過點對點的方式來發送消息,但是使用者還是需要連接配接到伺服器來擷取一些連接配接資訊和通信資訊的,是以伺服器端是必須要實作的。Openfire 也提供了一些基本功能,但真的很基本的!慶幸的是,它也提供插件的擴充,像Spark 一樣

Smack 是一個XMPP 協定的Java 實作,提供一套可擴充的API,不過有些時候,你還是不得不使用自己定制發送的XML 檔案内容的方式來實作自己的功能

轉自:http://www.cnblogs.com/yangzhong/archive/2012/08/27/2658027.html