bonjour, il m'arrive un petit soucis dans le cadre d'une application client/serveur via socket.
En éffet, pour mon application le serveur execute tous le temps la meme tache dès lors qu'un client se connecte.
Il lit les données du client, les écrit puis ferme la connexion.
Le client lui se connecte au serveur, envoi ses données et ferme la connexion.
Pour une seule utilisation tout fonctionne parfaitement. Seulement j'ai besoin que mon serveur accepte plusieurs connexions a tout moment, et qu'il execute sa tache a chaque client connectée.
J'ai donc opté pour une boucle sur le serveur qui répète : socket - bind - listen - accept - synchro - recv - shutdown RW - close
Le client lui est du type : socket - connect - synchro - send - shutdown RW - close
La phase de sychro est un simple envoi de message du type ping/pong.
Lorsque je connecte mon client pour la première fois, l'ensemble fonctionne, mais une fois terminé, je boucle sur le serveur (ce que je souhaite) mais une erreur survient lors de bind.
Je ne sais pas quoi faire ? je ne suis pas sûr que la boucle soit la meilleure solution premièrement, sinon existe t-il une fonction qui purge un port (en gros le libère) puisque je suppose que bind faillie a cause du port probablement pas libre.
Voila c'est plus une question d'algorithmique que de programmation pure, j'espère que vous m'aiderez, en tout cas je vous remercie d'avance pour avoir prie le temps de me lire
Merci
Partager