ejabberd 是對(duì)xmpp協(xié)議的完全實(shí)現(xiàn),那么單純的ejabberd是不提供該功能限制的,但是從我們的xmpp協(xié)議則可以完全的解決這個(gè)問(wèn)題,我們通過(guò)jid對(duì)它進(jìn)行限制,下面可以看一下jid的解釋:
完整JID###
完整的Jid包括 Username@Domain/resource
Node/Username###
用戶名/節(jié)點(diǎn) 用戶的基本標(biāo)識(shí)
Domain###
登陸的XMPP服務(wù)器域名
Resource###
重點(diǎn)就是這里?。。。。?br> 資源/來(lái)源,用于區(qū)別客戶端來(lái)源,xmpp協(xié)議設(shè)計(jì)為可多客戶端同時(shí)登陸,resource就是用于區(qū)分同一用戶不同端登陸
Bare###
除去resource部分,包含Username@Domain
當(dāng)我們調(diào)用Client端的登陸jid的格式是 比如 wanglei@localhost/wanglei_macbook
另外如果我在windows下用我同樣的賬號(hào)jid是這樣
wanglei@localhost/wanglei_windows
如果我們從ejabberd端將resource修改成一致的或者從client端調(diào)用登陸的時(shí)候統(tǒng)一resource 則macbook登陸后windows再登陸就會(huì)把macbook的登陸用戶頂下來(lái)掉線,達(dá)到我們的功能實(shí)現(xiàn)。