matthius25
Messages postés3Date d'inscriptionvendredi 18 avril 2003StatutMembreDernière intervention23 juillet 2003
-
23 juil. 2003 à 09:45
sebseb42
Messages postés495Date d'inscriptiondimanche 6 juillet 2003StatutMembreDernière intervention 9 novembre 2007
-
23 juil. 2003 à 17:08
Voici mon problème :
je dois faire communiquer une application C++ avec un programme automate PL7. Cette communication se fait par socket.
Du coté automate quand il reçoit un message, ce dernier est du format suivant :
2 caractères pour la longueur + X caractères pour le message.
du coté C++, j'envoie donc le message suivant :
"\x00\x0D""pouetouvastu?".
\x00 fait un caractère
\x0D fait aussi un caractère, c'est la longueur du message pouetouvastu?.
remarque : du coté automate le programme ne comprend pas les caractères il les reçoit en ASCII, c'est pour ça que je passe par la représentation hexadécimale pour qu'il comprenne qu'il doit recevoir 13 caractères.
si je met "13""pouetouvastu?", l'automate attend un message de 4953 caractères et comme j'en envoie que 5 il bloque (attente de la suite du message).
Comment faire pour automatiser l'envoi coté C++ ?
Je sais récupérer la longueur du message, la transformer en hexadécimal mais le problème se situe à l'insertion dans l'entete ("\x00\x"). La concaténation de l'entete avec la valeur convertie en caractère ne fonctionne pas.