C Socket : problème d'attachement de socket
Résolu
M.had
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
M.had -
M.had -
Bonjour,
Je suis entrain de programmer un mini ftp en C sous ubuntu. Dans la partie "serveur" la compilation se fait parfaitement, mai dans l'exécution, l'attachement de la socket ne se fait pas, et je ne trouve pas ou est le problème, voilà un bout de code:
Je suis entrain de programmer un mini ftp en C sous ubuntu. Dans la partie "serveur" la compilation se fait parfaitement, mai dans l'exécution, l'attachement de la socket ne se fait pas, et je ne trouve pas ou est le problème, voilà un bout de code:
adr_serveur.sin_addr.s_addr = htonl(INADDR_ANY); adr_serveur.sin_family = AF_INET; adr_serveur.sin_port = htons(PORT); printf("serveur ouvert sur le port %d\n", adr_serveur.sin_port); // Attachement de la socket d'écoute // Si echec de l'attachement if ( (bind(socket_ecoute, (struct sockaddr*)&adr_serveur, size_len)) == -1 ) { printf( "Echec : attachement de la socket !\n" ); exit(1); }
A voir également:
- C Socket : problème d'attachement de socket
- Error 2002 (hy000): can't connect to local server through socket '/run/mysqld/mysqld.sock' (2) - Forum Bases de données
- Socket 1366 ✓ - Forum Matériel & Système
- Socket 478 ✓ - Forum Processeur
- Changer socket carte mere ✓ - Forum Processeur
- Socket 1150 vs 1151 - Forum Processeur
2 réponses
C'est bien joli, mais il manque la moitié des initialisation des variables.
Il faut que tu regarde la valeur de la variable errno pour savoir ce qu'il se passe.
le plus simple dans un premier temps est de remplacer printf par perror.
Il faut que tu regarde la valeur de la variable errno pour savoir ce qu'il se passe.
le plus simple dans un premier temps est de remplacer printf par perror.
Toutes ces variables sont initialisées, et en ce qui concerne "perror" je ne crois pas que le problème est ici, parce que si le message s'affiche c'est que l'attachement ne se fait pas, et c'est ça qui m'étonne, parce que normalement tout est bien définis !!
Merci!!
Merci!!
Tu comprends tout de travers !
perror affiche errno en plus du message. si je te demande les initialisation, c'est pour savoir si tu n'as pas fait une erreur dedans.
Je ne vois pas de grosse bêtisses dans ce que tu as écrit, alors je cherche ailleurs. Et errno peut te donner une bonne indication (genre l'OS interdit l'attachement d'un soscket ou alors le port est déjà utilisé).
perror affiche errno en plus du message. si je te demande les initialisation, c'est pour savoir si tu n'as pas fait une erreur dedans.
Je ne vois pas de grosse bêtisses dans ce que tu as écrit, alors je cherche ailleurs. Et errno peut te donner une bonne indication (genre l'OS interdit l'attachement d'un soscket ou alors le port est déjà utilisé).
Je vous remercie ! j'ai changé la valeur du PORT et ça marche !
Concernant les initialisations je ne les ai pas mises parce que tout marchais bien auparavant , et d'un seul coup je voie cette erreur, donc j'était sure que tout était juste! merci comme même de m'avoir rappeler du PORT.
Je vais me documenter sur errno parce que je ne la connais pas!
Merci !
Concernant les initialisations je ne les ai pas mises parce que tout marchais bien auparavant , et d'un seul coup je voie cette erreur, donc j'était sure que tout était juste! merci comme même de m'avoir rappeler du PORT.
Je vais me documenter sur errno parce que je ne la connais pas!
Merci !