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

C Discussion :

Usage de socket (local)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut Usage de socket (local)
    Bonjour à tous,

    J'ai une appli serveur dont voici l'initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    //socket serveur
    SOCKET sock;
    SOCKADDR_IN sin;
    //socket client
    SOCKET csock;
    SOCKADDR_IN csin;
    socksize_t csin_size=sizeof(csin);
     
     
    sock=socket(AF_INET,SOCK_STREAM,0);
    if(sock==INVALID_SOCKET)
        exit(-1);
     
    sin.sin_addr.s_addr = inet_addr("127.0.0.1");
    sin.sin_family = AF_INET;
    sin.sin_port = 23;
     
    if(bind(sock,&sin,sizeof(sin))==-1)
        exit(-1);
     
    if(listen(sock,1)!=-1)
        cosck = accept(sock,&csin,&csin_size);
    Le code reste bloqué sur la fonction listen, qui est bloquante (c'est logique).

    Par contre mon application cliente (en Python) ne parvient pas à se connecter ("Connection refused"). Une ligne de commande plus tard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    netstat -an | grep LISTENING
    Je remarque que mon port 23 n'est pas ouvert... Voyez-vous une erreur quelque part ?

    Je vous remercie pour votre temps

    PS: j'ai hésité à mettre cela en section Réseau. Si un admin considère que c'est sa place, qu'il n'hésite pas à déplacer

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sin.sin_port = htons(23);

  3. #3
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    Effectivement, au départ j'avais fait comme tu suggères, mais quand je fais comme ça, bind renvoit -1... D'où peut venir l'erreur ? Problème de droits ?

  4. #4
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    JE confirme, c'est un problème de droit. Un p'tit sudo, et ça roule

    Merci en tout cas d'avoir recentré mon attention sur le vrai problème

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

Discussions similaires

  1. Can't connect to local MySQL server through socket
    Par pontus21 dans le forum Installation
    Réponses: 3
    Dernier message: 18/04/2012, 11h46
  2. Warning: Usage of a local non-builtin name
    Par Linael dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 24/06/2009, 14h50
  3. [C#] Sockets, récupération de l'adresse IP locale
    Par dockurt2k dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/09/2006, 22h30
  4. Can't connect to local MySQL server through socket
    Par PamelaGeek dans le forum Réseau
    Réponses: 1
    Dernier message: 15/05/2006, 17h16
  5. PB : Can't connect to local MySQL server through socket
    Par nownow dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 30/05/2005, 09h35

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