Sortie étrange du programme avec les sockets

Signaler
Messages postés
5
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
11 novembre 2005
-
Messages postés
39
Date d'inscription
jeudi 27 février 2003
Statut
Membre
Dernière intervention
31 janvier 2006
-
Bonjour,

je n'ai remarqué nul part sur le forum un problème avec les sockets comme le mien :

Voici mon code :

do


{



nbRead = socketComm.Receive(msg) ;


buffer = Encoding.ASCII.GetString(msg, 0, nbRead) ;


Console.WriteLine(buffer) ;


}
while(nbRead > 0) ;

Lorsque je fais du pas à pas avec le débugger, le programme passe une fois dans la boucle et, à l'éxécution du 2ème Receive() le programme sort ! En fait il ne s'arrête pas, il est dans un état où il est comme inactif mais en cours d'execution.

Je précise que le 1er Receive() marche et lit bien les octets.

J'ai même essayé d'intercepter une quelconque erreur avec une exception mail rien y fait.
Je n'ai jamais vu ça !

Merci

5 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
50
Il reste bloqué sur le receive a la 2eme execution ?

Tu es certain qu'il recoit quelque chose au 2eme Receive() ?

Mx
Messages postés
5
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
11 novembre 2005

La socket est en mode bloquant (socket.Blocking = true)

Ce qu'il se passe c'est au moment où le 2ème Receive() s'exécute, le debugger me montre que le programme est complétement sortie de la boucle. Même en interceptant les exceptions.

Là je suis sur le point d'executer le 2ème, logiquement on devrait passer à la ligne suivante. C'est là qu'il "quitte" la boucle et se gèle (aucun message du debugger, pas moyen de savoir où il va).

Merci
Messages postés
5
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
11 novembre 2005

Pourquoi l'image n'a pas été uploadée ?
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
87
Met ton image sur le net et met son url, le bouton parcourir ne sert a rien...

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
39
Date d'inscription
jeudi 27 février 2003
Statut
Membre
Dernière intervention
31 janvier 2006

ta boucle est-elle dans un trhead secondaire ou tt est dans le trhead principal de l'appli ?