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

Réseau C Discussion :

un problème avec connect()


Sujet :

Réseau C

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 5
    Points : 1
    Points
    1
    Par défaut un problème avec connect()
    salut tout le monde, je suivais le cours sur la programmation réseaux sous windows en C, ça ne marche pas, j'ai ensuite copié quasiment le code sur le cours (melem) ça ne marche toujours pas, c'est seulement la fonction connect qui bloque.
    j'ai lié un librairie que j'ai trouvé sous MinGW sous le nom de : MinGW/lib/libws2_32.a

    je suis sous code::blocks version 10.05, j'ai fais projet->build options->Linker setting et puis add..
    d'ou vient le problème au juste je suis concé depuis ce matin.
    merci de m'aider

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Tu ne nous montrerais pas ton code par hasard
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    mon code : je l'ai copié depuis le cours tel qu'il est :
    http://melem.developpez.com/tutoriel...nsock/#LII-D-1


    code client

    seule la fonction connect() ne marche pas.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par octobre.22 Voir le message
    c'est seulement la fonction connect qui bloque.
    Citation Envoyé par octobre.22 Voir le message
    seule la fonction connect() ne marche pas.
    Cela veut dire quoi "qui bloque" ?
    • Le programme reste bloqué DANS la fonction ?
    • L'appel à connect() retourne une erreur ?
    • Quel code d'erreur retourné par connect() (valeur de errno) ?


    Tu parles de ce bout de code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SOCKADDR_IN server;
     
    server.sin_family       = AF_INET;
    server.sin_addr.s_addr  = inet_addr("127.0.0.1");
    server.sin_port         = htons(5050);
    memset(&server.sin_zero, '\0', sizeof(server.sin_zero));
     
    if (connect(s, (SOCKADDR *)&server, sizeof(server)) == SOCKET_ERROR)
        /* La fonction connect a echoue */ ;
    else
    {
        /* Connexion reussie ! */
    }
    Tu as un serveur TCP sur ta machine locale sur le port 5050 ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    la fonction retourne un code d'erreur , sur le code que j'ai désigné, la fonction échoue, tout se passe normalement jusqu'à la fonction connect();
    elle ne bloque pas le programme elle échoue tout simplement.

    un autre problème;je suis un cours SDL en parallèle, bref à chaque fois j'ai le message d'erreur ld.exe impossible de trouver -l-lws2_32 même sur un nouveau projet en C seulement...
    je bloque complètement

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par octobre.22 Voir le message
    la fonction retourne un code d'erreur...
    Quel code d'erreur, que vaut la variable errno ?

    Tu ne réponds pas à ma 2eme question, si tu testes le code du tuto de Melem, tu as un serveur à l'écoute sur ta machine sur le port 5050 ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    je sais pas comment le trouver , je sais pas , des serveurs j'en ai , y a un truc windows , wamp , et un pour cisco qui s'est installé seul, mais je sais pas si ça vient du port puisque j'ai changé en 1234 et ça marche toujours pas .

    maintenant j'arrive plus à compiler , rien ne marche à cause du message ld.exe; y a pourtant aucune option linker sur les nouveaux projets..

  8. #8
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Ecoute, je te propose de revenir nous voir quand tu auras un problème précis avec des indications précises.

    Parce que avec des phrases genre "y a un truc windows", tu ne nous aide pas vraiment.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    merci de la précision , je vois vraiment pas ce qui n'est pas clair, tu veux savoir si j'ai des serveurs sur le port 5050 et j'ai dis : j'ai modifié avec plusieurs valeurs comme 1234 etc.. et ça marche toujours pas, ça veut dire que si c'était le cas et que le port 5050 est occupé ça aurait marché,je suis débutant et c'est aussi clair à travers "ces phrases qui t'ont dérangé tant" si tu ne peux pas m'aider il faut le dire tout simplement y à pas à s'acharner sur des phrases d'un débutant peut être que quelqu'un d'autre m'aiderait...

  10. #10
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Désolé pour cette petite saute d'humeur.

    Pour t'aider, donne nous le résultat de la commande netstat -an à lancer dans un shell. Cela nous donnera une indication des serveurs qui sont à l'écoute sur ta machine et que tu pourrais utiliser.

    Ensuite, modifie le code du connect pour faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (connect(s, (SOCKADDR *)&server, sizeof(server)) == SOCKET_ERROR)
    {
        /* La fonction connect a echoue */
        printf("Echec du connect(), le code d'erreur est %d\n",  WSAGetLastError());
    }
    else
    {
        /* Connexion reussie ! */
    }
    et donne nous le code source que tu utilises et le code d'erreur affiché par le programme.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. Problème avec connect
    Par jackk dans le forum Débuter
    Réponses: 2
    Dernier message: 26/11/2010, 10h42
  2. [MySQL] Problème avec connection multiple mysql et fonction php
    Par mitchb dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/08/2009, 11h41
  3. problème avec connection scp
    Par Rayley dans le forum Maven
    Réponses: 1
    Dernier message: 09/08/2006, 15h08
  4. Problème de connection avec phpmyadmin
    Par callo dans le forum Outils
    Réponses: 4
    Dernier message: 20/05/2005, 13h35

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