XMPPFramework - Récupérer des messages archivés à partir du serveur Openfire
Je développe une application de chat pour iPhone en utilisant XMPP et openfire serveur,serveur OpenFire est de stocker tout l'historique de chat entre utilisateurs, mais Lorsque je tente de récupérer l'historique de chat pour un utilisateur particulier, je seulement obtenir la date et le nombre de messages de chat, mais pas le texte des messages
J'ai déjà installé open archive du plugin pour l'archivage des messages sur openfire
C'est la strophe qui j'ai passé de Serveur Openfire
<iq type='get' id='pk1'>
<list xmlns='urn:xmpp:archive'
with='piyush@openfire'>
<set xmlns='http://jabber.org/protocol/rsm'>
<max>30</max>
</set>
</list>
</iq>
C'est le résultat que j'ai reçu de serveur
<iq type="result" id="pk1" to="vivek@openfire/iphone">
<list xmlns="urn:xmpp:archive">
<chat with="piyush@openfire" start="2012-07-04T13:16:12.291Z"/>
<chat with="piyush@openfire" start="2012-07-05T08:25:31.555Z"/>
<chat with="piyush@openfire" start="2012-07-05T12:38:24.098Z"/>
<set xmlns="http://jabber.org/protocol/rsm">
<first index="0">15</first>
<last>25</last>
<count>3</count>
</set>
</list>
</iq>
C'est le résultat que je veux et qui je l'attendais
<iq type='result' to='vivek@openfire/iphone' id='page1'>
<chat xmlns='urn:xmpp:archive'
with='piyush@openfire'
start='2012-07-04T13:16:12.291Z'
subject='She speaks!'
version='4'>
<from secs='0'><body>Art thou not Romeo, and a Montague?</body></from>
<to secs='11'><body>Neither, fair saint, if either thee dislike.</body></to>
.
[98 more messages]
.
<from secs='9'><body>How cam'st thou hither, tell me, and wherefore?</body></from>
<set xmlns='http://jabber.org/protocol/rsm'>
<first index='0'>0</first>
<last>99</last>
<count>217</count>
</set>
Merci de m'Aider à obtenir le résultat souhaité
Grâce
source d'informationauteur Piyush Kashyap
Vous devez vous connecter pour publier un commentaire.
Vous devez faire une demande auprès de
<retrieve>
(voir http://xmpp.org/extensions/xep-0136.html), alors vous pouvez prendre un moment précis à partir de la réception de l'<list>
résultat. Par exemple:Envoyer:
Recevoir:
Maintenant, vous choisissez l'une de
start
s et l'envoyer (la date et l'heure doivent être exacts):Vous recevrez quelque chose comme ceci (dépend de la valeur max -> max=30, corps=30):
Pour récupérer le temps Spécifique de chat
L'envoyer pour obtenir le temps:
Pour récupérer l'Historique de Chat
Utiliser la date de Début et d'envoyer:
Tout d'abord, pour récupérer l'historique du chat de openfire vous avez besoin d'installer Open Archive du plugin parce que le Contrôle Plugin est juste pour le contrôle et la journalisation de l'histoire de chat au panneau d'admin donc, une fois que vous installer Open Archive, vous n'aurez pas d'erreur avec le code '500'.
Vous pouvez télécharger et apprendre à installer Open Archive depuis les liens suivants.
https://nexus.reucon.com/content/repositories/opensource-snapshots/com/reucon/openfire/plugins/archive/
https://maven.reucon.com/projects/public/archive/
Un autre problème dans le code ci-dessus est que lorsque vous parlez de balise de début dans la requête, alors qu'elle correspond avec le chat d'avoir exactement le timbre de temps c'est pourquoi il retourne le code d'erreur '404'. J'ai omis balise de début de ma demande et a écrit de code suivant qui renvoie l'ensemble de l'historique de conversation avec l'utilisateur.
Ici, ce sera le retour de toute l'histoire de chat dans un fichier XML de réponse entre l'utilisateur Rahul et de l'utilisateur actuellement connecté.
Pour des informations plus détaillées, veuillez consulter ce blog http://question.ikende.com/question/363439343236313430
Swift version de récupérer l'archive des messages du serveur openfire
Demande:
Réponse:
*est la jid de la personne, dont l'archive des messages que vous souhaitez récupérer