检索聊天记录 Openfire XMPP 框架
Retrieve history chat Openfire XMPP framework
我使用 Robbie Hanson 的 XMPPframwork 和 Openfire 服务器开发了一个聊天应用程序。
我可以成功地进行一对一聊天和群聊。但是当我获得聊天记录时,我无法获得整个历史记录。我使用 XEP-0136 来存档历史记录:
发送智商:
<iq type="get" id="hichic@macintosh">
<retrieve
xmlns="urn:xmpp:archive" with="group12@conference.macintosh">
<set
xmlns="http://jabber.org/protocol/rsm">
<max>100</max>
</set>
</retrieve>
</iq>
收到:
<iq type="result" id="hichic@macintosh" to="admin@macintosh/Macintosh">
<chat
xmlns="urn:xmpp:archive" with="group12@conference.macintosh" start="2016-08-23T08:42:55.777Z">
<to secs="0">
<body>asdf</body>
</to>
<to secs="5">
<body>aafs</body>
</to>
<from secs="2" jid="haha@macintosh">
<body>sax</body>
</from>
<set
xmlns="http://jabber.org/protocol/rsm">
<first index="0">0</first>
<last>2</last>
<count>3</count>
</set>
</chat>
</iq>
但是当我打开数据库 ofMessageArchive table 时,我可以看到更多关于 group12 的消息(~20 条消息),而在结果中,我只有 3 条。我会错过什么吗?
遵循这种格式,它非常适合我,
<iq id='a5sV8-21' type='set'>
<query xmlns='urn:xmpp:mam:0' queryid="12345678">
<x xmlns="jabber:x:data" type="submit">
<field var="FORM_TYPE" type="hidden"><value>urn:xmpp:mam:0</value></field>
<field var="with"><value>id@domain</value></field>
</x>
<set xmlns="http://jabber.org/protocol/rsm">
<max>message_count</max>
</set>
</query>
</iq>
** 如果 xmpp:mam:0 不起作用,请使用 xmpp:mam:1
我使用 Robbie Hanson 的 XMPPframwork 和 Openfire 服务器开发了一个聊天应用程序。 我可以成功地进行一对一聊天和群聊。但是当我获得聊天记录时,我无法获得整个历史记录。我使用 XEP-0136 来存档历史记录:
发送智商:
<iq type="get" id="hichic@macintosh">
<retrieve
xmlns="urn:xmpp:archive" with="group12@conference.macintosh">
<set
xmlns="http://jabber.org/protocol/rsm">
<max>100</max>
</set>
</retrieve>
</iq>
收到:
<iq type="result" id="hichic@macintosh" to="admin@macintosh/Macintosh">
<chat
xmlns="urn:xmpp:archive" with="group12@conference.macintosh" start="2016-08-23T08:42:55.777Z">
<to secs="0">
<body>asdf</body>
</to>
<to secs="5">
<body>aafs</body>
</to>
<from secs="2" jid="haha@macintosh">
<body>sax</body>
</from>
<set
xmlns="http://jabber.org/protocol/rsm">
<first index="0">0</first>
<last>2</last>
<count>3</count>
</set>
</chat>
</iq>
但是当我打开数据库 ofMessageArchive table 时,我可以看到更多关于 group12 的消息(~20 条消息),而在结果中,我只有 3 条。我会错过什么吗?
遵循这种格式,它非常适合我,
<iq id='a5sV8-21' type='set'>
<query xmlns='urn:xmpp:mam:0' queryid="12345678">
<x xmlns="jabber:x:data" type="submit">
<field var="FORM_TYPE" type="hidden"><value>urn:xmpp:mam:0</value></field>
<field var="with"><value>id@domain</value></field>
</x>
<set xmlns="http://jabber.org/protocol/rsm">
<max>message_count</max>
</set>
</query>
</iq>
** 如果 xmpp:mam:0 不起作用,请使用 xmpp:mam:1