Alternative34
Messages postés1Date d'inscriptionvendredi 5 mars 2010StatutMembreDernière intervention 5 mars 2010
-
5 mars 2010 à 16:19
Bonjour à tous,
Je développe actuellement une application en C nécessitant trois interfaces (2 tcp, 1 udp).
Mon code bind les 3 sockets, compile et fonctionne même sous une distribution Gentoo. Où est le problème me direz vous ?
Tout vient à point à qui sait attendre : j'obtiens une erreur lors de son éxecution après compilation pour une autre plateforme qui tourne sous MAC OSX Snow Leopard. L'erreur m'indique "Error binding the socket: Can't assign requested address".
Vous pourrez le voir dans le code (en gras) j'ai essayé plusieurs solutions d'abord de fixer moi même l'adresse ip : 127.0.0.1. Ensuite j'ai essayé avec un INADDR_ANY, dans ce deuxième cas cela semblait à priori binder la socket mais l'adresse affichée par le printf qui suit est 0.0.0.0, j'ai donc bien encore un souci...
Voici la partie intéressante du code et merci de l'aide précieuse que vous pourrez m'apporter...
***********************************
if ((desc=socket(AF_INET,type,0)) == -1) {
perror("Error creating the socket");
return(-1);
}