XMPP - vCard头像更新通知脱机游戏者

时间:2016-08-24 12:24:17

标签: xmpp smack xmppframework vcard

当用户A和用户B都在线并且其中一个更改了头像时,用户的所有名单都会收到一个vanka-temp更新元素的状态节,其中图像的sha1哈希用作头像。

<presence from='juliet@capulet.com/balcony'>
  <x xmlns='vcard-temp:x:update'>
    <photo>sha1-hash-of-image</photo>
  </x>
</presence>

但是,当时没有为当前离线的用户生成此类通知/节,因此这样的客户端在显示的头像中没有显示任何变化。

当有任何变化时,离线用户如何才能从名册中获得v-card更新?即使没有变化,我也不想要求所有名单上的vCard。

1 个答案:

答案 0 :(得分:0)

我认为支持协议的客户端应该在所有在线数据包中包含头像,而不仅仅是在更改时。如XEP-0153: vCard-Based Avatars中所述:

  

如果客户支持此处定义的协议,则必须包含   在它发送的每个在线广播中更新子元素,并且应该   还包括定向存在节中的更新子节点(例如,   加入多用户聊天时发送的定向存在(XEP-0045)[5]   间)。

这意味着离线用户将获得正确的状态,并且可以在他们在线时更新头像。