Socket

Signaler
Messages postés
170
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
9 juillet 2008
-
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
bonjour,

J'ai un socket , je l'ouvre quand une connexion arrive , j'envoi des paquet , j'en recoit et a un moment donné je ferme le socket avec closesocket(). jusqu'ici aucune probleme.

Mon probleme est que je si fait par la suite un accept() avec mon socket que j'ai précédemement fermer , et bien sa marche sauf que je ne peut pas faire de send() :S.

Je pense que le probleme vient de la focntion closesocket() car je veut qu'apres une fermeture du socket je puisse le réutiliser.

Comment faire ?

Merci
KiRu@

3 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
accept() sous entend que tu as initialiser en amont ta structure socket.
Un appel à closesocket(), detruit la connexion et le bien et donc a refaire.

Assure toi, de tout réinitialiser après chaque déconnexion, et ca devrait marcher.
Sauf WSAStartup() et WSACleanup() : ces deux fonctions, tu ne dois les appeller qu'une seule fois dans ton programme!

Shell
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,
DeAtHCrAsH > pas besoin d'initialiser la structure sockaddr_in avant un appel a accept(): la fonction ne s'en sert pas.
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
aardmann effet ca ne s'en sert pas.

ToTol> mais ton code ici qu'on puisse un peu plus t'aider.

Shell