当我加入房间 XMPP xmpp 时,通常其他用户会看到我的 JIDmyconference@conference.localhost/myname
而不是myname@localhost
. 当我与一些朋友交谈时,Pidgin 也能够恢复我的真实 JID ( myname@localhost
)。
这怎么可能?我应该向服务器发出什么样的请求?这对我来说很重要,因为当我开始与某人交谈时,我不想打开两个标签,只是因为我的客户认为我可以在我的花名册和小组花名册中看到的朋友不是同一个人。
当我加入房间 XMPP xmpp 时,通常其他用户会看到我的 JIDmyconference@conference.localhost/myname
而不是myname@localhost
. 当我与一些朋友交谈时,Pidgin 也能够恢复我的真实 JID ( myname@localhost
)。
这怎么可能?我应该向服务器发出什么样的请求?这对我来说很重要,因为当我开始与某人交谈时,我不想打开两个标签,只是因为我的客户认为我可以在我的花名册和小组花名册中看到的朋友不是同一个人。
参见XEP-0045,第 7.2.4 节。在非匿名房间中,服务器将在所有参与者的存在节中发送所有参与者的 jid:
<presence
from='coven@chat.shakespeare.lit/thirdwitch'
id='17232D15-134F-43C8-9A29-61C20A64B236'
to='crone1@shakespeare.lit/desktop'>
<x xmlns='http://jabber.org/protocol/muc#user'>
<item affiliation='none'
jid='hag66@shakespeare.lit/pda'
role='participant'/>
</x>
</presence>