Envoyez une commande telnet "\x00" dans un String

Signaler
Messages postés
60
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
16 mai 2012
-
cs_Emcy
Messages postés
42
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
17 juillet 2012
-
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

Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
Salut, mettre à jour cette fameuse fonction tcpWrite().
Lui passer en paramètre le nombre d'octets à envoyer.
Messages postés
42
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
17 juillet 2012

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);