cs_Xentor609
Messages postés258Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention16 août 2004
-
1 juil. 2003 à 15:54
vidarusny
Messages postés31Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 3 décembre 2009
-
7 juil. 2003 à 18:43
salut à tous !
J'ai un problème un peu spécial :
j'utilise les sockets pour transférer des fichiers (en SOCK_STREAM). Le programme marche très bien mais je me rends compte que je peux augmenter la taille de mon buffer, donc je suis passé de 1024 à 8192 (c'est la taille maximale que je peux envoyer et recevoir). Je teste et juste après le transfert, le programme plante (il n'a même pas eu le temps d'enregistrer le fichier). Je debugge et le programme marche très bien !!!!! Il fait le transfert et enregistre le fichier sans problème.
Je rappelle le projet (en faisant Ctrl+F5) et le programme plante au même endroit.
Dès que j'appelle le programme en Ctrl+F5, il plante mais pas en faisant F5 (même sans breakpoint).
Je précise que le programme est compilé en mode Debug.
Est-ce que quelqu'un aurait déjà un problème de ce type ?
vidarusny
Messages postés31Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 3 décembre 2009 4 juil. 2003 à 20:56
Quelle est ton style de plantage??
tu fonctionne en mode synchrone ou asynchrone??
Car si c en mode asynchrone tu peut perdre ton message auquel cas tu risque d'attrendre un moment
cs_Xentor609
Messages postés258Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention16 août 2004 6 juil. 2003 à 19:43
salut!
tout d'abord, merci de m'avoir répondu!
le problème n'est plus exactement le même.
en fait, je sais pas qu'est ce qu'il s'etait exactement passé, mais c t peut-être le "grand hazard" : quand g t en train de debugger (F5), le programme recevait toutes les informations, le transfert se faisait bien et l'écriture aussi, et quand g t en Ctrl+F5, je ne recevais pas la totalité des données!
Le problème venait simplement de ma gestion d'erreur, c'était une erreur stupide qui faisait planter le programme!
Mais, maintenant le problème est que je ne reçois pas la totalité des données, mais ce n'est pas systématique. Mais je n'ai pas ce problème si je met la taille du buffer à 5120 par exemple.
Donc là je me retrouve un peu comme au point de départ! Paske le programme marche sans aucun problème en 5120 mais il marche de temps à autre en 8192!
vidarusny
Messages postés31Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 3 décembre 2009 7 juil. 2003 à 18:43
la je pense que c un prob windows. je pas comment ca marche mais windows découpe les packet ip en fonction de la taille. Je sais pas comment paramétrer le tout mais renseigne toi de ca...