Salut!

J'ai un programme qui fonctionne en réseau uniquement entre deux machines et je n'arrive pas a cloturer correctement la connexion.

Sans avoir besoin de mettre tout le code, ce qui ne servirai pas a grand chose puisque tout fonctionne, je me demande où placer le shutdown ?

Pour l'application serveur j'ai :
-> Mon application principale
----> Nouveau thread pour la reception de donnees :
----- socket()
----- bind()
----- listen()
----- accept()
----------> Nouveau thread pour l'envoi de donnees :
----------- Boucle de send()
----- Boucle de recv()
----- closesocket(client)
----- closesocket(serveur)

Du coté client :
-> Mon application principale
----> Nouveau thread pour la reception de donnees :
----- connect()
----------> Nouveau thread pour l'envoi de donnees :
----------- Boucle de send()
----- Boucle de recv()
----- closesocket(client)

Dans ma structure échangée dans mes threads j'ai une variable int ActiverTransmission. Lorsque la personne veut se deconnecter cette variable (pointeur) passe a 0.
Je pensais mettre un if sur cette variable dans ma gestion des sockets, et quand cette variable passe a 0, cela envoye shutdown(both).

Seulement je ne sais pas du tout ou la mettre, j'ai vu des tutos ou les programmeurs laissaient un recv apres le shutdown pour le reste des données mais je ne trouver rien de clair par rapport a ca.

Merci!