android asmack 註冊 登陸 聊天 多人聊天室 檔案傳輸 (zz)

來源:互聯網
上載者:User
XMPP 協議簡介

XMPP協議(Extensible Messaging and PresenceProtocol,可擴充訊息處理現場協議)是一種基於XML的協議,目的是為瞭解決及時通訊標準而提出來的,最早是在Jabber上實現的。它繼承了在XML環境中靈活的發展性。因此,基於XMPP的應用具有超強的可擴充性。並且XML很易穿過防火牆,所以用XMPP構建的應用不易受到防火牆的阻礙。利用XMPP作為通用的傳輸機制,不同組織內的不同應用都可以進行有效通訊。

這篇文章有基本的介紹,http://blog.csdn.net/xutaozero21/article/details/4873439

IM

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

 

本文主要講解在android使用xmpp協議進行即時通訊,所涉及3個主要的東西,它們是openfire、smack和spark,這個三個東東結合起來就是完整的xmpp IM實現,這裡簡單介紹一下這3個東東在下文的作用:

openfire主要是作為伺服器,負責管理用戶端的通訊串連,以及提供用戶端一些通訊資訊和串連資訊。

Smack主要是xmpp協議的實現,提供了一套很好的api,所以下面操作xmpp都是通過使用smack的api來實現,當然因為是在android裡,所以使用的是asmack這個包,裡面方法跟smack包差不多。

Spark 是IM用戶端的實現,其實就是使用了smack 的api實現的。

 

展示了三者之間的關係:(很明顯這個圖是偷別人的,具體是哪裡我忘了,因為資料都是複製到文檔後慢慢研究看的)

從圖上可以瞭解到,client 端和server端都可以通過外掛程式的方式來進行擴充,smack是二者傳遞資料的媒介。

 

更詳細的內容及代碼,參見:

http://www.cnblogs.com/not-code/archive/2011/07/16/2108369.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.