我的家園

          我的家園

          OpenFire、Spark、Smack介紹

          Posted on 2012-04-15 16:37 zljpp 閱讀(392) 評論(0)  編輯  收藏

          OpenFire 是采用Java開發(fā)的基于XMPP(Jabber)協(xié)議,開源實(shí)時(shí)協(xié)作(RTC)服務(wù)器。

          Smack 是用 Java編 寫的XMPP客戶端代碼庫,是 spark 的核心

          開源界總是有許多有趣的東東,這三個(gè)合起來就是一個(gè)完整的XMPP IM 實(shí)現(xiàn)。

          OpenFire ——服務(wù)器端

          Spark——客戶端

          Smack——XMPP 傳輸協(xié)議的實(shí)現(xiàn)

          三者都是基于Java 語言的實(shí)現(xiàn),其中XMPP是一個(gè)協(xié)議,協(xié)議是需要實(shí)現(xiàn)的,Smack起到的就是這樣的一個(gè)作用。


          OpenFire 是基于XMPP 協(xié)議的IM 的服務(wù)器端的實(shí)現(xiàn),雖然當(dāng)兩個(gè)用戶連接后,可以通過點(diǎn)對點(diǎn)的方式來發(fā)送消息,但是用戶還是需要連接到服務(wù)器來獲取一些連接信息和通信信息的,所以服務(wù)器端是必須要實(shí)現(xiàn)的。

          Spark 提供了客戶端一個(gè)基本的實(shí)現(xiàn),并提出了一個(gè)很好的插件架構(gòu),這對于開發(fā)者來說不能不說是一個(gè)福音。我強(qiáng)烈建議基于插件方式來實(shí)現(xiàn)你新增加的功能,而不是去改它的源代碼,這樣有利于你項(xiàng)目架構(gòu),把原始項(xiàng)目的影響降到最低。

          Smack 是一個(gè)XMPP 協(xié)議的Java 實(shí)現(xiàn),提供一套可擴(kuò)展的API,不過有些時(shí)候,你還是不得不使用自己定制發(fā)送的XML 文件內(nèi)容的方式來實(shí)現(xiàn)自己的功能

           

          三者之間的關(guān)系:


          從上圖可知,Client 端和Server端都可以通過插件的方式來進(jìn)行擴(kuò)展,Smack是二者傳遞數(shù)據(jù)的媒介。


          OpenFire官方

          官方介紹: http://www.igniterealtime.org/index.jsp

          官方下載: http://www.igniterealtime.org/downloads/index.jsp



          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 阿克陶县| 临漳县| 海原县| 神农架林区| 河曲县| 阿勒泰市| 丹棱县| 普兰店市| 松潘县| 清河县| 常熟市| 云霄县| 名山县| 康定县| 扎囊县| 云南省| 那曲县| 宜宾市| 广昌县| 扎鲁特旗| 睢宁县| 治多县| 资兴市| 襄城县| 祁门县| 准格尔旗| 新昌县| 开江县| 大洼县| 尖扎县| 沙洋县| 本溪市| 织金县| 禄劝| 句容市| 信宜市| 遵化市| 崇义县| 当阳市| 宾川县| 甘谷县|