XMPP 0059/0313存档消息 - 通过结果集向后翻页

时间:2016-07-21 10:07:19

标签: xmpp ejabberd strophe strophe.js

我收到了归档中的最后10条消息,并在请求之前尝试获取10条消息,等等。

在XMPP文档上。它说我用我的UID设置了之前??

http://xmpp.org/extensions/xep-0059.html#backwards

<iq type='set' from='stpeter@jabber.org/roundabout' to='users.jabber.org' id='back1'>
  <query xmlns='jabber:iq:search'>
    <nick>Pete</nick>
    <set xmlns='http://jabber.org/protocol/rsm'>
      <max>10</max>
      <before>peter@pixyland.org</before>
    </set>
  </query>
</iq>

还是这个? http://xmpp.org/extensions/xep-0313.html#query-paging

在after标签中有一些ID?我很困惑,任何人都可以给我一些指针,谢谢!

<iq type='set' id='q29303'>
  <query xmlns='urn:xmpp:mam:1'>
      <x xmlns='jabber:x:data' type='submit'>
        <field var='FORM_TYPE' type='hidden'><value>urn:xmpp:mam:1</value></field>>
        <field var='start'><value>2010-08-07T00:00:00Z</value></field>
      </x>
      <set xmlns='http://jabber.org/protocol/rsm'>
         <max>10</max>
         <after>09af3-cc343-b409f</after>
      </set>
  </query>
</iq>

我之前尝试过使用我的UID并且它没有工作<before>peter@server.org</before>

我有错误<error code='400' type='modify'><bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq></body>

我正在使用strophe.js mam插件和rsm插件

1 个答案:

答案 0 :(得分:1)

当您收到RSM受max = 10限制的首页时,您会收到firstlast UID:

<iq type='result' id='q29302'>
  <fin xmlns='urn:xmpp:mam:1'>
    <set xmlns='http://jabber.org/protocol/rsm'>
      <first index='0'>28482-98726-73623</first>
      <last>09af3-cc343-b409f</last>
      <count>10</count>
    </set>
  </fin>
</iq>

这些是消息的UID,您可以在beforeafter后续查询中使用这些消息。