Petit serveur en C : pblm de port
Résolu/Fermé
Sophie
-
20 nov. 2012 à 22:53
totof31 Messages postés 163 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 30 avril 2013 - 29 nov. 2012 à 22:49
totof31 Messages postés 163 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 30 avril 2013 - 29 nov. 2012 à 22:49
A voir également:
- Petit serveur en C : pblm de port
- Serveur pop - Guide
- Association avec le serveur freebox en cours ✓ - Forum Freebox
- Impossible d'atteindre le serveur dhcp - Forum Réseau
- Serveur diff message ✓ - Forum iPhone
- Serveur dhcp - Guide
3 réponses
Bonjour,
Merci char sipper pour tes conseils.
Merci totof31 pour ta réponse. Effectivement, c'est lié à ce que tu as dit.
En effet, quand j'arrête le serveur, je vois la socket associé dans un état TIME-WAIT avec netstat -tn. Elle disparait après quelques minutes.
J'ai contourné ce problème en utilisant en utilisant SO_REUSEADDR comme tu l'as dit :
int yes = 1;
setsockopt(sock_serveur, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int));
Donc c'est réglé !
Merci :)
Merci
Merci char sipper pour tes conseils.
Merci totof31 pour ta réponse. Effectivement, c'est lié à ce que tu as dit.
En effet, quand j'arrête le serveur, je vois la socket associé dans un état TIME-WAIT avec netstat -tn. Elle disparait après quelques minutes.
J'ai contourné ce problème en utilisant en utilisant SO_REUSEADDR comme tu l'as dit :
int yes = 1;
setsockopt(sock_serveur, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int));
Donc c'est réglé !
Merci :)
Merci
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
21 nov. 2012 à 14:07
21 nov. 2012 à 14:07
Salut.
ton programme semble juste, mais ils n'est pas sécurisé. En effet la plupart des fonctions retournent des valeur d'erreurs dans le cas où ça se passe mal.
Complète ton programme en testant chaque valeur de retour, une fonction tel que bond doit rencontrer une erreur, ensuite en regardant errno tu sauras quoi.
ton programme semble juste, mais ils n'est pas sécurisé. En effet la plupart des fonctions retournent des valeur d'erreurs dans le cas où ça se passe mal.
Complète ton programme en testant chaque valeur de retour, une fonction tel que bond doit rencontrer une erreur, ensuite en regardant errno tu sauras quoi.
totof31
Messages postés
163
Date d'inscription
lundi 29 octobre 2012
Statut
Membre
Dernière intervention
30 avril 2013
74
Modifié par totof31 le 21/11/2012 à 17:22
Modifié par totof31 le 21/11/2012 à 17:22
L'attente est normale car c'est l'OS qui gère la fin de connexion TCP, même si tu fais close et que tu fermes ton programme correctement.
Cherche TIME-WAIT pour avoir plus d'infos à ce sujet.
Cherche SO_REUSEADDR sur une façon de contourner le pb.
Cherche TIME-WAIT pour avoir plus d'infos à ce sujet.
Cherche SO_REUSEADDR sur une façon de contourner le pb.
29 nov. 2012 à 22:49