Bind socket erreur [Résolu]

Taron31 199 Messages postés vendredi 16 avril 2004Date d'inscription 28 février 2008 Dernière intervention - 28 oct. 2006 à 23:05 - Dernière réponse : Taron31 199 Messages postés vendredi 16 avril 2004Date d'inscription 28 février 2008 Dernière intervention
- 29 oct. 2006 à 11:39
Bonjour, en codant avec les socket j'ai une erreur avec le bind, pourtant je ne décèle pas d'erreur au niveau du code, apparement c'est un pb technique :

            SOCKADDR_IN Sockad;
            SOCKET Sock;
            if(Sock socket(AF_INET, SOCK_STREAM, 0) INVALID_SOCKET) {
               
                MessageBoxA(hWnd, "Erreur lors de la connexion", "Erreur", MB_OK);
                ExitProcess(0);
            }

               SOCKET SockClient;

               Sockad.sin_addr.s_addr = inet_addr("127.0.01");
               Sockad.sin_port = htons(80);
               Sockad.sin_family = AF_INET;

               if(bind(Sock, (SOCKADDR *)&Sockad, sizeof(Sockad)) == SOCKET_ERROR) {
                   char buffer[512]; sprintf(buffer, "Error code: %d", WSAGetLastError);
                   MessageBoxA(hWnd, buffer, "Erreur", MB_OK);
                   ExitProcess(0);
               }
              
               listen(Sock, 5);
               
               int len = sizeof(Sockad);               if(SockClient accept(Sock, NULL, 0) INVALID_SOCKET) {

                   MessageBoxA(hWnd, "Echec du serveur !", "Erreur", MB_OK);
                   ExitProcess(0);
               }

               MessageBoxA(hWnd, "Nouveau Client !!", "Dringdringdrgin !!", MB_OK);
            }

Si vous aviez une idée de ce problème c'est assez génant, et il me semble que c'est pas la première fois que cela m'arrive...
PS : j'utilise Visual Studio 2005 Express

Merci

___________________
MVS - Most Valuable Student ( Microsoft)
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 29 oct. 2006 à 00:26
3
Merci
Salut,

Le (comparaison) est prioritaire sur le (affectation), donc quand
tu fais "if(Sock socket(...) INVALID_SOCKET)", Sock vaudra soit 0
soit 1, et rien d'autre. Cette remarque est aussi valable pour le
accept() quelques lignes plus bas.

Vu que Sock n'est pas un socket valide, et que l'adresse ip "127.0.01"
n'existe pas, le bind ne risque pas de réussir. Dans ton affichage
d'erreur, il manque les () apres WSAGetLastError: ici tu affiches
l'adresse de la fonction, et non sa valeur de retour.


Un problème technique, tu disais ?

Merci cs_aardman 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de cs_aardman
Taron31 199 Messages postés vendredi 16 avril 2004Date d'inscription 28 février 2008 Dernière intervention - 29 oct. 2006 à 11:39
0
Merci
Arg je suis désolé, c'est minable :p
hier soir j'étais très fatigué :D

Merci.

___________________
MVS - Most Valuable Student ( Microsoft)
Commenter la réponse de Taron31

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.