Micro_and_Macro
Messages postés43Date d'inscriptiondimanche 26 mars 2006StatutMembreDernière intervention 1 août 2009
-
25 mars 2007 à 19:05
Micro_and_Macro
Messages postés43Date d'inscriptiondimanche 26 mars 2006StatutMembreDernière intervention 1 août 2009
-
4 avril 2007 à 19:49
Bonjour , j'ai programmé un client en C# .net..
A la première connexion sur le serveur, aucun problème notable.
Resultat de netstat -n -o 2 :
TCP 127.0.0.1:1690 127.0.0.1:65133 ESTABLISHED 3552
TCP 127.0.0.1:65133 127.0.0.1:1690 ESTABLISHED 1260
Première déconnexion :
le serveur se met à prendre 99% des ressources du cpu
Après la deuxième connexion, le serveur n'éxecute plus les commandes du client
,
TCP 127.0.0.1:1690 127.0.0.1:65133 ESTABLISHED 3552
TCP 127.0.0.1:65133 127.0.0.1:1690 ESTABLISHED 1260
Pour les tentatives de connexions suivantes le serveur refuse la connexion
TCP 127.0.0.1:1705 127.0.0.1:65133 FIN_WAIT_2 1500
TCP 127.0.0.1:65133 127.0.0.1:1705 CLOSE_WAIT 3032
Le problème ne vient pas du serveur car avec des clients vb6 ou telnet , tout fonctionne correctement.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 27 mars 2007 à 23:00
salut,
la méthode shutdown permet de fermer les flux d'envoi et de réception...ce qui ne correspond absolument pas à une fermeture du socket lui-même...de plus, mettre ton socket à null ne libère pas les ressources de ton objet socket avant le passage au gc (et encore, je ne suis pas certain que le destructeur appelle close)...
ce que tu devrais faire :
-> appelle la méthode close de networkstream
-> puis la méthode close de ton socket
Micro_and_Macro
Messages postés43Date d'inscriptiondimanche 26 mars 2006StatutMembreDernière intervention 1 août 2009 28 mars 2007 à 18:06
Salut,
La methode close du socket n'apparait pas sur l'exemple , erreur de copier/coller..
Par contre je vois pas du tout comment appeler la méthode close de networkstream,sachant que je vois pas comment récuperer le stream, pas réussi à appeler getStream..
Je vais changer de tactique et utiliser la classe tcpclient pour voir .
@++