IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[Socket] Winsock, WSAAccept


Sujet :

Windows

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut [Socket] Winsock, WSAAccept
    Bonjour,

    Dans une boucle while, j'effectue mon accept, mais le problème c'est qu'il y a toujours une connexion avec une ip invalide (0.0.0.0), du coup il boucle tout le temps avec cette erreure (WSAEFAULT).

    Savez-vous pourquoi ? j'ai en tout cas paramétré correctement les structures je pense (avec bind et listen aussi) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sock = socket(AF_INET, SOCK_STREAM, 0);
    struct sockaddr_in sai;
    sai.sin_addr.s_addr = htonl(INADDR_ANY);
    sai.sin_port = htons(PORT);
    sai.sin_family = AF_INET;
    L'accept est fait de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WSAAccept(sock, (struct sockaddr*)&sa_remote,(int*)&slen, NULL, NULL);
    Merci bien.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    tu as initialisé slen avant ? il est utilisé en entrée et en sortie

    PS: pourquoi dois-tu transtyper son adresse? Il n'est pas du bon type?

  3. #3
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Et pourquoi pas un accept tout court?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    accept(sock, (struct sockaddr *) &sai,(socklen_t *)&slen);

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Médinoc
    tu as initialisé slen avant ? il est utilisé en entrée et en sortie

    PS: pourquoi dois-tu transtyper son adresse? Il n'est pas du bon type?
    le transtypage, c'était juste pour le faire apparaître comme étant un int* sur le forum
    et en effet, je savais pas que c'était en in/out

    merci bien, je l'oublierai pas celui là

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Skyrunner
    Et pourquoi pas un accept tout court?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    accept(sock, (struct sockaddr *) &sai,(socklen_t *)&slen);
    ça me fait pareil, mais c'est bon, merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. socket winsock utilisation
    Par harry1976 dans le forum Réseau
    Réponses: 2
    Dernier message: 21/03/2011, 18h24
  2. Réponses: 8
    Dernier message: 22/06/2008, 08h12
  3. Sockets winsock 2
    Par odissey dans le forum Bibliothèques
    Réponses: 9
    Dernier message: 15/02/2007, 10h57
  4. [winsock.h] Fonction recv() pour un socket en C
    Par Hikaru dans le forum Windows
    Réponses: 5
    Dernier message: 22/05/2004, 07h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo