A mon avis ton erreur est due au fait que le socket n'est pas supprimmé tout de suite mais par défaut environ 1 minute après la terminaison de ton serveur.
Pour corriger ce problème il faut positionner l'option SO_REUSEADDR sur le socket pour lui indiquer que ce n'est pas fatal. Un appel a setsockopt() juste après ta création du socket avec socket() devrait faire l'affaire:
int optval = 1;
int socket;
socket = socket(...);
if (setsockopt(socket, SO_REUSEADDR, &optval, sizeof(optval)) == -1)
// erreur
...
[^] # Re: PLouf ?
Posté par Michel Pastor . En réponse au journal Ecrasez un Mammouth !. Évalué à 3.
Pour corriger ce problème il faut positionner l'option SO_REUSEADDR sur le socket pour lui indiquer que ce n'est pas fatal. Un appel a setsockopt() juste après ta création du socket avec socket() devrait faire l'affaire:
int optval = 1;
int socket;
socket = socket(...);
if (setsockopt(socket, SO_REUSEADDR, &optval, sizeof(optval)) == -1)
// erreur
...
man setsockopt pour le reste ;)