alexixlebaulois
Messages postés6Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention 1 août 2005
-
20 juil. 2004 à 11:25
Kian_ix
Messages postés26Date d'inscriptiondimanche 18 février 2007StatutMembreDernière intervention 5 avril 2009
-
15 mai 2008 à 04:09
Salut,
Je suis en train de créer une appli qui communique avec plusieurs serveurs pour récupérer leur état. Toutes les communications se font en même temps au moyen de threads. En gros, j'ai une vingtaine de threads qui communiquent toutes les 10 secondes avec des serveurs. Il y a autant de threads que de serveurs. Le code de chaque thread est le suivant :
L'application est temps réel, elle tourne en permanence. Le problème c'est qu'au bout d'une journée, elle plante et lorsque je fais un "netstat", la liste des sockets est énorme, ce qui fait que Windows est saturé niveau connexions (même Internet ne marche plus...). J'ai donc un problème pour fermer mes sockets. Les serveurs sont écrits en Pascal (c'est pas moi qui les ai faits). J'ai essayé plusieurs trucs :
- mettre shutdown(skt_client, 2); avant le closesocket.
- mettre shutdown(skt_client, 2); sans le closesocket.
- utiliser l'option SO_LINGER (je ne suis pas sûr de l'avoir bien fait).
Je suis débutant en sockets alors j'avoue que je suis vraiment perdu dans cette histoire. Quelqu'un peut m'aider ?