Envoyez une commande telnet "\x00" dans un String

cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 - 16 mai 2012 à 15:15
cs_Emcy Messages postés 42 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 17 juillet 2012 - 17 juil. 2012 à 09:05
Bonjour,
j'établi une communication entre deuc ordinateur. Je suis le client qui envoie des commandes aux serveur.
Le Logiciel sur lequel je développe met à disponibilité un fonction pour l'envoie. tcpWrite(int socket, string data).

tcpWrite(iopen, "\xff\xfb\x18");//okay
tcpWrite(iopen, "\xff\xfb\x25");//okay
tcpWrite(iopen, "\xff\xfb\x01");//okay
tcpWrite(iopen, "\xff\xfb\x00");//problème????\x00????

Jusqu'ici tout marchait bien sauf que je constaste que quand j'evoie 0 il l'interprete comme la terminaison de mon string et n'envoie que FFFB.
Comment remédier à ce problème
mersi de m'aider

2 réponses

katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
22 mai 2012 à 02:49
Salut, mettre à jour cette fameuse fonction tcpWrite().
Lui passer en paramètre le nombre d'octets à envoyer.
0
cs_Emcy Messages postés 42 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 17 juillet 2012
17 juil. 2012 à 09:05
Salut,
tcpWrite attend un string en paramètre c'est donc tout à fait normal qu'il s'arrête à la fin de la chaine qui est délimitée par '\0' (ou 0x00).
Je pense que dans ta pile il y a une fonction qui envoie un tableau au lieu d'un string (il y a 99% de chance que cette fonction existe).
=> le prototype doit être du genre :
void tcpWriteArray(SOCKET socket, char * array, int len);
0
Rejoignez-nous