修改 XMPP Presence 节

Posted

技术标签:

【中文标题】修改 XMPP Presence 节【英文标题】:Modifying the XMPP Presence Stanza 【发布时间】:2013-01-21 09:25:49 【问题描述】:

在 XMPP 中,用户可以向另一个用户发送订阅请求以添加到名册中,即使用户离线,我也很容易做到这一点,即使用户离线服务器会在用户在线时自动发送此状态。

但我需要为此状态添加一个自定义标签,它在用户在线之前一直有效,如果用户离线,当用户在线时,服务器会发送没有我的自定义标签的常规状态。

如何实现这一点。

【问题讨论】:

【参考方案1】:

您使用的 XMPP 服务器似乎没有存储出席信息的扩展信息。 根据 RFC6121 3.1.3.4,服务器必须存储此信息:http://xmpp.org/rfcs/rfc6121.html#sub-request-inbound

【讨论】:

感谢回复,我用的是jabber服务器。 "jabber" 是 XMPP 协议的首字母缩写词,而不是服务器。无论如何,您应该联系您的服务器供应商。 对不起它的 ejabber 服务器,有时这种自动更正会导致这些误解:) 请注意,此扩展内容非常有限且严格定义:xmpp.org/rfcs/rfc6120.html#stanzas-extended您遵守这些限制吗?

以上是关于修改 XMPP Presence 节的主要内容,如果未能解决你的问题,请参考以下文章

XMPP 客户端对 <presence type=unsubscribed...> 节的正确响应是啥?

如何控制 XMPP XML

如何使用 XMPPFramework 在 XMPP IOS 中发送可用节?

如何格式化 xmpp 存在节以加入 MUC 房间

谁能告诉我为啥 Smack 的 Presence.getMode() 在可用(在线)联系的情况下给出 null ?

无法访问 discord.js 中的 user.presence.activities