06-03-2021 01:45 AM
Sans connaître les détails de votre application, le problème me semble évident.
Si cela fonctionne une fois, c'est que le moteur a eu le temps d'envoyer un message avant la première interrogation. Par contre, la deuxième va arriver de suite, avant que le moteur puisse renvoyer un nouveau message, et la lecture renverra logiquement une chaîne vide.
La meilleure méthode pour corriger l'absence de toute attente entre les interrogations dépend de la réponse à ces questions. Mais la source du problème est identifiée.
06-04-2021 01:35 AM
Bonjour,
Vous avez vu juste, il s'agissait d'un problème de délai réponse/commande.
Après coup, c'est vrai qu'au vu de l'erreur en jeu, c'était plutôt évident que le problème vienne de là ... Je n'oublierai pas de faire attention à laisser un délai suffisant pour traiter les commandes maintenant.
En tout cas merci beaucoup pour votre aide !! C'est la première fois que je post un message sur un forum et c'est un vrai plaisir de pouvoir échanger avec des personnes bienveillantes comme ça, merci encore !
06-04-2021 03:10 AM
A mon avis, ajouter un simple délai est une solution certes très simple mais pas suffisamment robuste. Cela laisse la porte grande ouverte à des erreurs occasionnelles. Il serait préférable de modifier la fonction de lecture des données en y intégrant une boucle d'attente de la présence des données. Et comme dit, si les messages se terminent par un caractère de terminaison, je recommande fortement d'utiliser cette fonctionnalité.
PS : Comme il n'y a pas de deuxième chance pour la première impression, je suis heureux s'il m'a été possible de la rendre positive !
06-04-2021 07:16 AM
Ok merci, je vais essayer de prendre en compte votre remarque, j'ai effectivement un message de terminaison.