一步一步學習openfire+spark(2)——介紹幾個概念

1:消息服務器

openfire爲例,介紹它的主要功能。

 (1)所有的消息都由要經過消息服務器,包括客戶端和客戶端之間的通信,其實消息服務器就是做了一箇中轉的作用,當然也可以監控客戶端。

 (2)實時瞭解客戶端情況,通過心跳的方式,瞭解客戶端在線,忙碌,離線等狀態,也可以強制客戶端下線。

  3 管理插件,openfire服務器也是基於插件開發的,你可以開發你自己的插件,只要符合openfire的規範就行,插件最終編譯成一個jar包,只要放到openfire指定目錄下就能運行,插件可以說是一個單獨的應用。比如你可以編寫一個自己的考勤系統,通過客戶端來查看系統的考勤。

 (4)給客戶端推送消息,openfire基於mina框架,可以高效的推送各種消息或者文件。

2:客戶端

 客戶端是安裝在電腦上的,具體完成功能的應用。光有了消息是不夠的,收到消息客戶端要做什麼,這個就是客戶端實現的功能,比如你可以在客戶端編寫一個關機的功能,一旦服務器給客戶端推動了一個代號爲001的消息,客戶端就關機。

3XMPP

XMPP是一種通信協議,本身沒有什麼高深的東西,只要遵守這個規範就行。你可以想象,要通信,就和我麼要寫信一樣,寫信要有誰寫的,發給誰,寫的內容是什麼,信的類型,比如是掛號信還是普通的,這些屬性用的時間長了,有人發現如果一個一個的使用tcp傳遞,太費勁了,那麼咱們就做一個xml格式的流,這個xml有我們所要的全部信息,也就是一個信件。這樣一次就搞定,不用反覆通信。郵局(openfire)拿到這個信以後,一看就知道是從哪裏來,要到哪裏去,然後就發給接受者,當然郵局有保留不發的權利(比如信封裏面有危險化學品,泄漏以後導致18傷的)

。對方接受到信以後,看看信裏面的內容,就知道要幹啥了,幹完以後,再給個回信。表示是否成功。

整個過程就是這樣。

既然是協議,只是一個標準,必須要實現的。openfirespark是基於smack的,smack實現了xmpp協議,封裝了發送和接受、解析協議的一些方法。

詳細請看百度百科:

http://baike.baidu.com/link?url=qiGoFhzd0KxFteIeD9TVT17D0qSzOO_B47SD1NRrN9g49G1uGbdqSPKJ7Jh4cdGo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章