Problème de buffer avec recv - C - Programmation
Marsh Posté le 29-03-2006 à 22:49:55
Dinan a écrit :
|
Il n'y a rien à effacer. Ce qui compte, c'est de tester le valeur retournée par recv(). C'est le nombre de bytes valides si il est > 0. On sait donc exactement où mettre le 0 si c'est une chaine.
Pour éviter le débordement, on passe une taille inférieure de 1 à recv(). Usage courant :
Code :
|
Marsh Posté le 29-03-2006 à 22:36:25
Bonjour,
Dans mon code j'ai :
Comment est ce que je peut effacer pSock pour que dans ma boucle, son ancienne valeur ne revienne pas ?, pSock est défini ainsi : char *pSock = (char*)malloc(1+sizeof(char)*MAX_IO);
Le probleme quand je fait pSock = NULL, c'est que recv me retourne -1 a la prochaine boucle.
J'aimerais eviter de free et malloc a chaque boucle.
Merci