comment rejouer un journal de correction rapide

Je vois que cela a déjà été demandé, mais je ne vois pas encore de réponse. Existe-t-il un moyen de relire un fichier journal de correction rapide? Mon application a lancé la session, reçoit des données, Quickfix enregistre les données, mon application se bloque. Lorsque je redémarre, je souhaite simplement relire tout le contenu du fichier journal. Cela peut-il être fait?

Sinon, est-ce que quelqu’un a un exemple sur la façon de demander par programme un renvoi de tous les messages de session ou de réinitialiser le numéro de réception reçu à 1? Toute aide serait appréciée.

Non, pas vraiment.

FIX est un protocole de communication bidirectionnel. Vous ne pouvez pas simplement “rejouer” un côté; cela n’a pas vraiment de sens.

C’est comme si vous vouliez qu’Alice reprenne la conversation avec Bob, mais Alice doit lire ses lignes à partir d’une transcription de ce qu’elle a déjà dit. Vous n’avez aucune garantie que Bob dira ce qu’il a dit auparavant, et Bob pourrait simplement être confus.

Maintenant, si vous parlez d’un type d’outil de test, où une partie “joue” des données prédéterminées … eh bien, vous devriez être plus précis dans votre question. Cela dit, QuickFIX ne fournit aucune fonctionnalité permettant de faire une telle chose et ne s’y prête pas vraiment. Vous feriez mieux d’écrire un outil autonome qui écrit ces messages sur un socket brut. (Mon entreprise a en fait écrit un tel outil de test.)

En ce qui concerne les numéros de séquence, vérifiez les parameters de configuration ” ResetOn “. Vous voulez probablement ResetOnLogon ou similaire. (Assurez-vous que la stratégie seq # de votre initiateur est identique à celle de votre contrepartie, sinon vous aurez des problèmes.)

Si vous pensez que vous devez réinitialiser votre numéro de séquence par programme, vous faites probablement quelque chose de mal. Quatre années sur les listes de diffusion de QF m’ont appris cela. Je n’ai jamais vu quelqu’un légitimement avoir besoin de faire cela.

Assurez-vous que vos parameters du fichier de configuration ne sont pas réinitialisés à la connexion. Lorsque vous vous reconnectez après un crash, vous renvoyez automatiquement tous les messages manqués.