1. 程式人生 > >四大即時通訊協議之XMPP(Jabber)背景介紹(一)

四大即時通訊協議之XMPP(Jabber)背景介紹(一)

四大即時通訊(IM)協議背景知識介紹

四大通訊協議分別為XMPP 協議、即時資訊和空間協議(IMPP)、空間和即時資訊協議(PRIM)、針對即時通訊和空間平衡擴充的程序開始協議SIP(SIMPLE)。


1. XMPP 協議
    在這四種協議中,XMPP是最靈活的。XMPP是一種基於XML的協議,它繼承了在XML環境中靈活的發展性。因此,基於XMPP的應用具有超強的可擴充套件性。經過擴充套件以後的XMPP可以通過傳送擴充套件的資訊來處理使用者的需求,以及在XMPP的頂端建立如內容釋出系統和基於地址的服務等應用程式。而且,XMPP包含了針對伺服器端的軟體協議,使之能與另一個進行通話,這使得開發者更容易建立客戶應用程式或給一個配好系統新增功能。

    XMPP由Jabber軟體基金會開發,最早在Jabber上實現。Jabber專案由Jeremie Miller在1998年開始的一個免費、開源的專案,用於提供給MSN、Yahoo!的IM服務。由於XMPP是一種基於XML架構的開放式協議,在IM通訊中被廣泛採用,已經得到了網際網路工程任務組(IETF)的批准。 但是,由於XML資料透明的缺陷,XMPP在使用的過程中,還需要努力克服它本身諸如安全方面的缺點。對於網路協同工作者而言,需要加強安全性和互連性。 

2. IMPP協議

    IMPP主要定義必要的協議和資料格式,用來構建一個具有空間接收、釋出能力的即時資訊系統。到目前為止,這個組織已經出版了三個草案RFC,但主要的有兩個:一個是針對站點空間和即時通訊模型的(RFC 2778);另一個是針對即時通訊/空間協議需求條件的(RFC2779)。RFC2778是一個資料性質的草案,定義了所有presence和IM服務的原理。RFC2779定義了IMPP的最小需求條件。另外,這個草案還就presence服務定義了一些條款,如執行的命令、資訊的格式,以及presence伺服器如何把presence的狀態變化通知給客戶。

3. SIMPLE協議

    SIMPLE是目前為止制定的較為完善的一個。SIMPLE和XMPP兩個協議,都符合RFC2778和RFC2779 。SIMPLE計劃利用SIP來發送presence資訊。SIP是IETF中為終端制定的協議。SIP一般考慮用在建立語音通話中,一旦連線以後,依靠如實時協議(RTP)來進行實際上的語音傳送。但SIP不僅僅能被用在語音中,也可以用於視訊。SIMPLE被定義為建立一個IM程序的方法。SIMPLE在2002年夏季得到額外的信任,目前,微軟和IBM都致力於在它們的即時通訊系統中實現這個協議。 SIMPLE小組致力於程序模式的操作,這將提升執行效率,使基於SIP的機制能夠進行會議和三方電話交談控制,也考慮到能和未來提供的許多新特性實現相容並提升表現能力。有了程序模式,SIMPLE使用SIP來建立一次程序,再利用SDP(程序描述協議)來實際傳輸IM資料。


4. PRIM:PRIM與XMPP、 SIMPLE類似,但已經不再使用了。

目前XMPP框架和API:

資源網站:http://www.igniterealtime.org

框架:openfire(server)+spark(client),當然還有基於openfire開發的androidpn,客戶端還有很多,也可以自己基於smack開發或者基於asmack開發android版本的客戶端。

安裝基本上和軟體差不多,在這裡就不多說了,可以在網上搜所以一些資料看看。