2015-07-03 24 views
0

我使用iOS xmppframework和ejabberd作为xmpp服务器。当我添加昵称花名册时,有时可以设置缺口,有时候我无法设置缺口。我发送给服务器的数据包包括:ejabberd在添加花名册时有时不能设置昵称

2015-07-03 10:19:24:144 pigai[36644:3a0b] The nick is songxiao 
2015-07-03 10:19:24:144 pigai[36644:3a0b] SEND: <iq type="set" xmlns="jabber:client" id="roster-remotely-managed"><query xmlns="jabber:iq:roster"><item jid="[email protected]" name="songxiao"/></query></iq> 
2015-07-03 10:19:24:144 pigai[36644:800b] SEND: <presence type="subscribe" to="[email protected]"><x xmlns="vcard-temp:x:update"><photo>c769b958f910fb6bfde4e8131385cc5ad2d95e0b</photo></x></presence> 
2015-07-03 10:19:24:576 pigai[36644:3a0b] RECV: <iq xmlns="jabber:client" from="[email protected]" to="[email protected]/iPhone" id="push2270407375" type="set"><query xmlns="jabber:iq:roster" ver="6e3b72a923e4574fac87e8e89f08eee251cf73c8"><item subscription="none" name="songxiao" jid="[email protected]"/></query></iq> 
2015-07-03 10:19:24:576 pigai[36644:3a0b] RECV: <r xmlns="urn:xmpp:sm:3"/> 
2015-07-03 10:19:24:576 pigai[36644:3a0b] RECV: <iq xmlns="jabber:client" from="[email protected]" to="[email protected]/iPhone" id="roster-remotely-managed" type="result"/> 
2015-07-03 10:19:24:577 pigai[36644:3a0b] RECV: <r xmlns="urn:xmpp:sm:3"/> 
2015-07-03 10:19:24:577 pigai[36644:3a0b] RECV: <iq xmlns="jabber:client" from="[email protected]" to="[email protected]/iPhone" id="push2639732641" type="set"><query xmlns="jabber:iq:roster" ver="b16ad5f42baf7c0fe11925ed879ac7ecb0bcfb85"><item ask="subscribe" subscription="none" jid="[email protected]"/></query></iq> 
2015-07-03 10:19:26:602 pigai[36644:433] RECV: <r xmlns="urn:xmpp:sm:3"/> 
2015-07-03 10:19:26:602 pigai[36644:433] SEND: <a xmlns="urn:xmpp:sm:3" h="15"/> 
2015-07-03 10:19:26:808 pigai[36644:4b17] SEND: <a xmlns="urn:xmpp:sm:3" h="15"/> 

缺口未设置。在客户端,nick是空的。从服务器端,昵称不存储在数据库中。

+0

您使用的是哪个版本的ejabberd? –

+0

ejabberd版本是15.04。 – xhsoldier

+0

因为我的用户的jid是数字。我无法在用户的名册视图中显示该号码。这就是为什么昵称非常重要。这个问题阻止了整整一周。我渴望解决方案。 – xhsoldier

回答

1

这里是应该很好地工作顺序:

  1. 发送存在订阅。
  2. 等待答复。
  3. 在名单上设置名称。

我们将看看是否可以改进以更好地处理这种情况。

+0

我想这就是为什么当我再次发送设置昵称iq消息,然后昵称设置成功。非常感谢。 – xhsoldier

相关问题