指定的ID后无法通过MAM检索XMPP消息

时间:2019-06-28 19:19:55

标签: xmpp ejabberd qxmpp

我正在编写一个xmpp Messenger。根据我的设计,它存储本地消息历史记录。当用户上线并与某人打开对话框时,我的程序会使用“之后”标记从最近的本地存储消息到服务器归档所具有的最后一条消息请求归档(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作为服务器。

我做错什么了吗? 预先感谢!

0 个答案:

没有答案