xmpp - 指定 id 后无法通过 MAM 检索 XMPP 消息
问题描述
我正在写一个 xmpp 信使。根据我的设计,它存储本地消息历史记录。当用户上线并与某人打开对话框时,我的程序使用“after”标签从本地存储的最后一条消息到服务器存档的最后一条消息请求存档(XEP-313)。然而,它并没有按照我预期的方式工作。
请求
<iq id="qxmpp21" type="set">
<query xmlns="urn:xmpp:mam:1" queryid="qxmpp21">
<x xmlns="jabber:x:data" type="submit">
<field type="hidden" var="FORM_TYPE"><value>urn:xmpp:mam:1</value></field>
<field type="text-single" var="with"><value>user1@domain.org</value></field>
</x>
<set xmlns="http://jabber.org/protocol/rsm">
<max>100</max>
<after>5d10ba97-9ce8-46d4-9547-4f5e91e4ac19</after>
</set>
</query>
</iq>
响应
<iq xmlns="jabber:client" id="qxmpp21" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace" type="result" from="user2@domain.org" to="user2@domain.org/QXmpp">
<fin xmlns="urn:xmpp:mam:1" queryid="qxmpp21" complete="true">
<set xmlns="http://jabber.org/protocol/rsm">
<count xmlns="http://jabber.org/protocol/rsm">465</count>
</set>
</fin>
</iq>
我使用 qxmpp 库和 ejabberd 作为服务器。
我做错什么了吗?提前致谢!
解决方案
推荐阅读
- shopify - 已解决:如何在安装时添加自定义应用程序的液体片段文件?
- python - 如何将 line.set_data 用于 matplotlib 中的二维数组数据?
- c++ - SFML draw 不透支板
- r - 如何将带有分隔数据的多列分隔为R中的多行?
- ios - Cmd+r 录制模拟器而不是在 React Native 中重新加载应用
- aide - 如何将 AIDE 设置为仅包含最后一天更改的电子邮件?
- javascript - 计算组在织物 js 中的位置百分比
- javascript - javascript程序的冗余命令行?
- ionic-framework - 智能手表与 Ionic Mobile 应用程序集成
- google-sheets - 从两个不同的站点地图中提取 URL 并在另一个工作表中匹配没有根域的 URL