聯(lián) 系 人:前臺(tái)
0519-85967018
0519-85967018
中國(guó).江蘇
江蘇省常州市新北區(qū)富強(qiáng)路1號(hào)
江蘇省常州市新北區(qū)富強(qiáng)路1號(hào)
關(guān)注官方微信
XMPP:可擴(kuò)展消息處理現(xiàn)場(chǎng)協(xié)議,是一種基于XML流的用于即時(shí)通訊(IM)的協(xié)議,其間有三種角色,客戶(hù)端,服務(wù)器和網(wǎng)關(guān),通信可以在三者之間任意兩個(gè)發(fā)生,前面兩個(gè)好理解,而網(wǎng)關(guān)是為了處理其他異構(gòu)系統(tǒng)即不使用XMPP協(xié)議的系統(tǒng),比如MSN,SMS等,網(wǎng)關(guān)可以轉(zhuǎn)換不同的協(xié)議,來(lái)達(dá)到交流互通作用。客戶(hù)端與服務(wù)器是基于TCP/IP協(xié)議來(lái)建立連接,在上面?zhèn)鬏擷ML文檔。
由圖可知,客戶(hù)端之間無(wú)法直接交流,同時(shí)服務(wù)器允許多個(gè)客戶(hù)端同時(shí)連接。客戶(hù)端通過(guò)端口5222連接服務(wù)器,服務(wù)器之間通過(guò)5269互相通信。
XMPP可用于異步通信,這也就表明了在客戶(hù)端和服務(wù)器之間存在兩條XML流和一條TCP鏈路,服務(wù)器之間需要兩條TCP鏈路來(lái)傳輸對(duì)端數(shù)據(jù)。
XML流會(huì)以標(biāo)記開(kāi)始,標(biāo)記結(jié)束,客戶(hù)端服務(wù)器之間可能每次只發(fā)送一個(gè)XML片段或者完整的。stream標(biāo)記的屬性如下:
to只能用于從客戶(hù)端到服務(wù)器的XML流中。
from只能用于從服務(wù)器到客戶(hù)端的XML流中。
id只能用于從接收實(shí)體到發(fā)送實(shí)體的XML流中,id必須唯一,用于標(biāo)記會(huì)話。
xml:lang只能用于發(fā)起方,用于約定語(yǔ)言。如發(fā)起方?jīng)]有攜帶xml:lang屬性,接收方應(yīng)使用默認(rèn)語(yǔ)言。
version至少在“1.0”以上。
建立會(huì)話時(shí),會(huì)先以TLS(安全傳輸層協(xié)議)建立一個(gè)安全鏈路,成功后再用SASL(簡(jiǎn)單認(rèn)證和安全層協(xié)議)進(jìn)行身份認(rèn)證,之后綁定資源開(kāi)始傳輸XML流。
TLS原理:利用非對(duì)稱(chēng)加密演算來(lái)對(duì)通信方做身份認(rèn)證,之后交換對(duì)稱(chēng)密鑰作為會(huì)談密鑰,就用此密鑰來(lái)加密傳輸信息。