probleme avec sockets : fonctionnement aléatoire - C++ - Programmation
MarshPosté le 20-02-2008 à 14:47:44
Hello !
Voilà je suis en train de programmer un petit jeu de quizz en réseau, et je bloque sur les sockets, ou plus particulièrement sur la gestion du buffer que j'utilise je pense.
En gros, j'ai déclaré un buffer au début du type :
char* buffer = new char[255].
mon programme marche une fois sur 2, cad que parfois des variables disparaissent (elles sont "écrasées" je pense par le buffer). J'utilise memset pour clean le buffer avant chaque send ou receive :
memset(buffer,0,sizeof(buffer));
J'ai ensuite testé avec un buffer de type non pointeur (j'ai un peu du mal avec les pointeurs en fait ):
char buffer[256];
mais le résultat est le même.
Le problème est que les données de mon programme disparaisse (par exemple, la variable renvoyée par serie.get_reponse1() est parfois effacée, parfois pas). Je vous laisse un bout de code, si quelqu'un voit ce que je fait mal je serais ravi de l'apprendre, depuis le temps que je cherche la dessus
donc là c'est le serveur (le problème apparait existe avant le send au client, donc pas besoin du client) :
Marsh Posté le 20-02-2008 à 14:47:44
Hello !
Voilà je suis en train de programmer un petit jeu de quizz en réseau, et je bloque sur les sockets, ou plus particulièrement sur la gestion du buffer que j'utilise je pense.
En gros, j'ai déclaré un buffer au début du type :
char* buffer = new char[255].
mon programme marche une fois sur 2, cad que parfois des variables disparaissent (elles sont "écrasées" je pense par le buffer). J'utilise memset pour clean le buffer avant chaque send ou receive :
memset(buffer,0,sizeof(buffer));
J'ai ensuite testé avec un buffer de type non pointeur (j'ai un peu du mal avec les pointeurs en fait ):
char buffer[256];
mais le résultat est le même.
Le problème est que les données de mon programme disparaisse (par exemple, la variable renvoyée par serie.get_reponse1() est parfois effacée, parfois pas).
Je vous laisse un bout de code, si quelqu'un voit ce que je fait mal je serais ravi de l'apprendre, depuis le temps que je cherche la dessus
donc là c'est le serveur (le problème apparait existe avant le send au client, donc pas besoin du client) :
Message édité par bottedumal le 20-02-2008 à 14:49:27