Я разработал приложение для чата, используя XMPPframwork Robbie Hanson и Openfire. Я могу общаться друг с другом и общаться в чате. Но когда я получаю историю чата, я не могу получить целую историю. Я использую XEP-0136 в АРХИВ История:Восстановить историю чата Openfire XMPP framework
Отправить IQ:
<iq type="get" id="[email protected]">
<retrieve
xmlns="urn:xmpp:archive" with="[email protected]">
<set
xmlns="http://jabber.org/protocol/rsm">
<max>100</max>
</set>
</retrieve>
</iq>
Receive:
<iq type="result" id="[email protected]" to="[email protected]/Macintosh">
<chat
xmlns="urn:xmpp:archive" with="[email protected]" 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="[email protected]">
<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 стол, я могу видеть гораздо больше сообщений с group12 (~ 20 сообщений), в то время как в результате я только получил 3. Могу ли я что-то пропустить?
Вы получаете только те сообщения, которые были отправлены вами в группе? –
@ShoaibAhmadGondal No. Как вы можете видеть результат, 2 из них были отправлены мной, а другой отправлен haha @ macintosh – maphongba008
Внедрение XEP-0136 в плагине мониторинга против вашего пакета IQ в основном собирает данные, запрашивая три таблицы: ofConversation , ofConParticipant, ofMessageArchive. Можете ли вы проверить в своих базах данных ссылки на комнату, в которой вы запрашиваете, какие данные существуют с отношениями в этих трех таблицах. Как вы уже упоминали, что данные существуют в ofMessageArchive. –