Bonjour,
je suis en train de faire une appli client/serveur simple mais je rencontre un problème lorsque je veux utiliser un timeout coté serveur:
En fait, sur le socket du serveur je veux lui définir 2 options la première est SO_EXCLUSIVEADDRUSE qui fait que un seul processus peu utiliser le port et la seconde (et c'est là que ça coince) c'est SO_RCVTIMEO qui pose un timeout sur le socket en réception (si le client ne fait rien pendant un temps X, je ferme coté serveur)
Le problème c'est que si le client reste connecté (si je fait pas un shutdown/closesocket coté client après le timeout), je ne peu pas re binder mon socket sur le serveur car le port est considéré comme utilisé par un autre processus(le client qui veux pas lacher le morceaux à priori). Donc si ça ce met à déconner coté client, c'est le serveur qui trinque...
Existe-t-il une parade à cela ou est-ce parce que je n'emploie pas la bonne méthode pour poser un timeout sur le serveur ?
Merci d'avance.
Partager