[email protected]" name="baz"-6ren">
gpt4 book ai didi

xmpp - 对 节的正确 XMPP 客户端响应是什么?

转载 作者:行者123 更新时间:2023-12-02 01:23:09 25 4
gpt4 key购买 nike

以下是当我从服务器上的名册中手动删除联系人时服务器向我发送的内容 (openfire):

'<iq type="set" id="183-87" to="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c0a6afaf80a5a4adb5aea4eeacafa3a1ac" rel="noreferrer noopener nofollow">[email protected]</a>/hydra"><query xmlns="jabber:iq:roster"><item jid="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2f4d4e5d6f564e474040014a4b425a414b0143404c4e43" rel="noreferrer noopener nofollow">[email protected]</a>" name="baz" ask="unsubscribe" subscription="none"><group>Buddies</group></item></query></iq>'
'<iq type="set" id="187-88" to="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f4929b9bb4919099819a90da989b979598" rel="noreferrer noopener nofollow">[email protected]</a>/hydra"><query xmlns="jabber:iq:roster"><item jid="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9ffdfeeddfe6fef7f0f0b1fafbf2eaf1fbb1f3f0fcfef3" rel="noreferrer noopener nofollow">[email protected]</a>" name="baz" subscription="none"><group>Buddies</group></item></query></iq>'
'<presence type="unsubscribed" to="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cea8a1a18eabaaa3bba0aae0a2a1adafa2" rel="noreferrer noopener nofollow">[email protected]</a>" from="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="77151605370e161f18185912131a021913591b1814161b" rel="noreferrer noopener nofollow">[email protected]</a>"/>'

如果我用“取消订阅”状态节进行响应(根据 RFC 3921,我认为这是正确的),服务器会不断向我发送更多“取消订阅”状态的垃圾邮件。

无论哪种方式,当我的客户下次登录时,名册中没有任何变化。我做错了什么吗?

最佳答案

这取决于您所谈论的客户 - 是订阅者还是被订阅者。

.

如果客户端是订阅者,则什么也没有:

根据section 9.4 ,如果订阅者发送取消订阅请求,或者其他原因导致客户端取消订阅,服务器必须通过取消订阅响应确认该请求/报告状态更改。至此,互动结束。

如果订阅者每次收到来自服务器的取消订阅状态的通知并发送另一个取消订阅请求,告知其先前的订阅已被删除,那么它将永远不会结束。

.

如果客户端是订阅节点,则可能会向其发送取消订阅以确认允许删除订阅,但当您在正常范围之外更改名册时,这是否仍然有效机制我不确定。

我对 9.4 中表格的理解是取消订阅期间订阅者和服务器之间的消息:

subscriber            server             subscribee
| -- unsubscribe --> | |
| | -- unsubscribe --> |
| | <- unsubscribed -- | (optional)
| | -- unsubscribed -> |
| <- unsubscribed -- | |

我对section 8.6的阅读,名单删除是这样的:

subscriber            server             subscribee
| ----- remove ----> | |
| | -- unsubscribe --> |
| | -- unsubscribed -> |
| | -- unavailable --> |
| <- unsubscribed -- | |
| <-- unavailable -- | |

无需任何客户端确认。

关于xmpp - 对 <presence type=unsubscribed...> 节的正确 XMPP 客户端响应是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/605177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com