我通过 Strophe 连接到 openfire(XMPP) 服务器。当一个用户示例-“sat”向另一个用户“sat1”请求订阅请求时。请求和响应的转换如下。
对“sat1”的“sat”请求:-
<body rid="1804705405" xmlns="http://jabber.org/protocol/httpbind" sid="6npq0es11r">
<presence to="sat1@canopus30" type="subscribe" xmlns="jabber:client"></presence>
</body>
服务器响应
<body xmlns="http://jabber.org/protocol/httpbind" ack="1804705405">
<iq id="915-56" type="set" to="sat@canopus30/6npq0es11r" xmlns="jabber:client">
<query xmlns="jabber:iq:roster">
<item jid="sat1@canopus30" ask="subscribe" subscription="none"></item>
</query>
</iq>
</body>
ON 另一端“sat1”在连接时收到来自服务器的响应。
服务器响应
<body xmlns="http://jabber.org/protocol/httpbind" ack="1602104745">
<presence to="sat1@canopus30" type="subscribe" from="sat@canopus30" xmlns="jabber:client">
</presence>
</body>
"sat1" 向用户 "sat" 发送订阅消息
要求
<body rid="1602104746" xmlns="http://jabber.org/protocol/httpbind" sid="74ijxeuw0">
<presence to="sat@canopus30" type="subscribed" xmlns="jabber:client"></presence>
<iq id="1" from="sat1@canopus30/74ijxeuw0" type="get" xmlns="jabber:client">
<query xmlns="jabber:iq:roster"></query>
</iq>
</body>
服务器响应
<body xmlns="http://jabber.org/protocol/httpbind" ack="1602104746">
<iq id="73-58" type="set" to="sat1@canopus30/74ijxeuw0" xmlns="jabber:client">
<query xmlns="jabber:iq:roster">
<item jid="sat@canopus30" subscription="from"></item>
</query>
</iq>
</body>
在上述情况下,我无法提供发送请求和接收请求的用户的全名。只有我找到了两个用户端的完整 JID。我想在接收和发送请求中显示用户信息。
我看到的许多教程都可以获取名册上的用户信息,但名册上也没有用户信息。
要求
Request :- <body rid="404208005" xmlns="http://jabber.org/protocol/httpbind" sid="5cou8tu8ka">
<iq id="1" from="sat@canopus30/5cou8tu8ka" type="get" xmlns="jabber:client">
<query xmlns="jabber:iq:roster"></query>
</iq>
</body>
服务器响应
<body xmlns="http://jabber.org/protocol/httpbind" ack="404208005">
<iq id="1" type="result" to="sat@canopus30/5cou8tu8ka" xmlns="jabber:client">
<query xmlns="jabber:iq:roster">
<item jid="sat1@canopus30" subscription="to"></item>
</query>
</iq>
</body>
您可以在任何请求和响应中看到他们不是用户信息。请帮助我找到有关接收请求的用户信息,至少是我在用户创建(注册)时给出的全名。谢谢你。