XMPP JID

XMPP的地址叫做JabberID(簡寫為JID),它用來標(biāo)示XMPP網(wǎng)絡(luò)中的各個XMPP實體。JID由三部分組成:domainpart,localpart和resourcepart。JID中domain是必不可少的部分。注意:domain和user部分是不分大小寫的,但是resource區(qū)分大小寫。

jid = [ localpart "@" ] domainpart [ "/" resourcepart ]

localpart = 1*(nodepoint)
                ;
                ; a "nodepoint" is a UTF-8 encoded Unicode code
                ; point that satisfies the Nodeprep profile of
                ; stringprep
                ;
domainpart = IP-literal / IPv4address / ifqdn
                ;
                ;the "IPv4address" and "IP-literal" rules are
                ; defined in RFC 3986, and the first-match-wins
                ;(a.k.a. "greedy") algorithm described in RFC
                ; 3986 applies to the matching process
                ;
                ;note well that reuse of the IP-literal rule
                ; from RFC 3986 implies that IPv6 addresses are
                ; enclosed in square brackets (i.e., beginning
                ;with ’[’ and ending with ’]’), which was not
                ;the case in RFC 3920
                ;
ifqdn = 1*(namepoint)
                ;
                ; a "namepoint" is a UTF-8 encoded Unicode
                ; code point that satisfies the Nameprep
                ; profile of stringprep
                ;
resourcepart = 1*(resourcepoint)
                ;
                ; a "resourcepoint" is a UTF-8 encoded Unicode
                ; code point that satisfies the Resourceprep
                ; profile of stringprep
                ;

**domainpart **:通常指網(wǎng)絡(luò)中的網(wǎng)關(guān)或者服務(wù)器。
**localpart **:通常表示一個向服務(wù)器或網(wǎng)關(guān)請求和使用網(wǎng)絡(luò)服務(wù)的實體(比如一個客戶端),當(dāng)然它也能夠表示其他的實體(比如在多用戶聊天系統(tǒng)中的一個房間)。
resourcepart:通常表示一個特定的會話(與某個設(shè)備),連接(與某個地址),或者一個附屬于某個節(jié)點ID實體相關(guān)實體的對象(比如多用戶聊天室中的一個參加者)。

JID種類有:
bare JID:user@domain.tld
full JID:user@domain.tld/resource

例子:

stpeter@jabber.org:表示服務(wù)器jabber.org上的用戶stpeter。
room@service:一個用來提供多用戶聊天服務(wù)的特定的聊天室。這里 “room“ 是聊天室的名字, ”service“ 是多用戶聊天服務(wù)的主機名。
room@service/nick:加入了聊天室的用戶nick的地址。這里 “room“ 是聊天室的名字, ”service“ 是多用戶聊天服務(wù)的主機名,”nick“ 是用戶在聊天室的昵稱。

為了標(biāo)示JID,XMPP也有自己的URI,例如xmpp:stpeter@jabber.org,默認(rèn)規(guī)則是在JID前加xmpp:。

個人認(rèn)為可以把JID理解為Email地址,就比較好理解了。

中文版RFC6122
英文版RFC6122

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 要學(xué)習(xí)基于XMPP協(xié)議的IM開發(fā),首先要熟悉XMPP協(xié)議本身。 XMPP協(xié)議的組成主要的XMPP 協(xié)議范本及當(dāng)今應(yīng)...
    RichieQ閱讀 1,984評論 0 6
  • 一、Xmpp資源綁定 XMPP協(xié)議設(shè)計中引入了一個抽象的資源綁定過程,何為資源,如何綁定?首先這得從JID的格式設(shè)...
    AndryYu閱讀 3,116評論 0 3
  • 關(guān)于XMPP最權(quán)威的講解:http://www.jabbercn.org/RFC3920(這個才是最權(quán)威的,下面文...
    隨風(fēng)飄蕩的小逗逼閱讀 1,647評論 1 5
  • 時間過得很快,我的第一份iOS工作做的就是IM應(yīng)用(選用的是XMPP),如今也忘得差不多了.利用空閑時間來重寫一遍...
    飄金閱讀 3,027評論 2 2
  • 清小帽子,可愛極了!這些小腦袋在春天溫暖的懷抱里,迅速的往上竄,這就是筍。春天在筍里。 春天是一個綠色的世界,一個...
    橙色小蘑菇閱讀 158評論 0 9

友情鏈接更多精彩內(nèi)容