[C] Vider buffer
Résolu
kij_82
Messages postés
4102
Date d'inscription
Statut
Contributeur
Dernière intervention
-
sam3000 Messages postés 1226 Statut Membre -
sam3000 Messages postés 1226 Statut Membre -
Bonjours,
J'ai un pb avec mon cliet serveur à la C!@# !!
Aléatoirement, le client ne recoit pas les bonnes données au bon moment... je pense que c'est du au fait que la transmission soit mal passée, et vu que je ne retente pas une transmission lorsque celle-ci n'a pas aboutie... ca fait tous foirer...
Mais pour en être sur, je voudrais vider mon tampon mémoire, ainsi que ma variable tampon qui sert à recevoir ou emmetre des données. Elle se présente de la facon suivante :
Puis elle est remplie lors des transmissions client / serveur
Comment faire pour la vider ?
Merci beaucoup
++
--
~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~
J'ai un pb avec mon cliet serveur à la C!@# !!
Aléatoirement, le client ne recoit pas les bonnes données au bon moment... je pense que c'est du au fait que la transmission soit mal passée, et vu que je ne retente pas une transmission lorsque celle-ci n'a pas aboutie... ca fait tous foirer...
Mais pour en être sur, je voudrais vider mon tampon mémoire, ainsi que ma variable tampon qui sert à recevoir ou emmetre des données. Elle se présente de la facon suivante :
char tmp[256] = "";
Puis elle est remplie lors des transmissions client / serveur
Comment faire pour la vider ?
Merci beaucoup
++
--
~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~
5 réponses
-
salut à tous,
je crois qu'il y a une fonction C toute faites pour ça:fflush(stdin);
Mais je ne suis pas sur... -
salut,
essaye la fonction bzero()
(assure toi de son fonctionnement dans l'aide chui plus trés sur)
++ -
tu peux aussi essayer tmp=""; ou for i=1 à 256 tmp[i-1]='\0';
voila -
'lut greg,
bien vu le fflush, cela dit fflush(stdin) c'est pour vider le buffer
d'entrée (clavier), mais ça peut peut étre marcher avec un buffer lambda. à tester...
-
Merci pour les infos,
pour ce qui est du fflush, c'est bien mais ca demanderai une redirection des entrées avant de flusher, puis rétablir ensuite, à moins qu'il y ai une autre solutions,
J'ai donc opté pourbuffer = "";
Puisint l = strlen(buffer); for(i=0;i<l;i++) { buffer[i] = '\0'; }
Et cela ne change rien à mon problème (perte de données en cours de transmittion)
Donc cela ne vient pas de la, c'est ce que je voulais vérifier,
lerci beacoup
++
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
salut kij_82,
si ton client/serveur utilise TCP/IP il n'y a pas de perte de données (c'est géré par les drivers les erreurs de transmission)
donc ça doit etre la vitesse de traitement ou une autre erreur quelque part!
@+