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 :

Problème de connexion sockets


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 21
    Par défaut Problème de connexion sockets
    Bonjour à tous,

    je débute avec les sockets en C# et j'ai un petit problème pour faire communiquer mon PC avec un petit programme serveur situé sur une autre machine de mon réseau local.

    Le code du serveur est le suivant:
    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
     
    TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"), 15212);
    server.Start();
     
    while (true)
    {
        while (!server.Pending())
        {
            Thread.Sleep();
        }
     
        TcpClient client;
     
        if ((client = server.AcceptTcpClient()) == null)
            break;
     
        client.GetStream().Write(Encoding.ASCII.GetBytes("ok!"), 0, 3);
        client.Close();
    }
     
    server.Stop();

    Pour le client, j'utilise telnet pour le moment.
    Au lancement du serveur, le code tourne en boucle (fonction "Pending") en attente des connexions clientes

    Quand j'utilise telnet directement depuis la machine du serveur, tout fonctionne bien (ouf!)
    open 127.0.0.1 15212
    Maintenant, j'utilise telnet ailleurs (sur une autre machine du réseau local ou depuis un réseau externe) et là j'obtiens le message d'erreur suivant:
    Impossible d'ouvrir une connexion à l'hôte, sur le port 15212: Echec lors de la connexion
    côté serveur, rien ne se passe (toujours en attente dans la boucle Pending...).
    Niveau configuration, j'ai beau avoir désactivé mon pare-feu et avoir fait la redirection de port nécessaire sur mon réseau local, rien ne marche!

    Des idées??

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Par défaut
    Si tu met ton serveur en écoute sur 127.0.0.1 il n'écoutera que ton serveur.

    Tu devrais utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TcpListener server = new TcpListener(IPAddress.Any, 15212);
    ou bien l'IP publique de ton serveur.

  3. #3
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Citation Envoyé par demonia Voir le message
    Si tu met ton serveur en écoute sur 127.0.0.1 il n'écoutera que ton serveur.

    Tu devrais utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TcpListener server = new TcpListener(IPAddress.Any, 15212);
    ou bien l'IP publique de ton serveur.
    Effectivement 127.0.0.1 c'est la boucle interne, ça marche meme si tu n'as pas de carte réseaux;

    IPAddress.Any: signifie que ton serever sera à l'écoute sur toutes les interface réseaux, si tu veux mettre une adresse tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TcpListener server = new TcpListener(IPAddress.Parse("mon adresse ip"), 15212);
    pour avoir tes adresses réseaux, tu executes "ipconfig" dans l'invité de commandes

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Par défaut
    Citation Envoyé par chamamo Voir le message
    si tu veux mettre une adresse tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TcpListener server = new TcpListener(IPAddress.Parse("mon adresse ip"), 15212);
    pour avoir tes adresses réseaux, tu executes "ipconfig" dans l'invité de commandes
    C'est effectivement mieux expliqué que moi

    Attention tout de même si tu es en dhcp pour l'adresse ip, tu ne pourra pas la spécifier en dure.

  5. #5
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Citation Envoyé par demonia Voir le message
    C'est effectivement mieux expliqué que moi

    Attention tout de même si tu es en dhcp pour l'adresse ip, tu ne pourra pas la spécifier en dure.
    oui tu as raison, tu peux mettre directement le port sans préciser l'adresse ip.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 21
    Par défaut
    OK, merci beaucoup à vous 2 pour les précisions! Ca fonctionne nickel maintenant...

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

Discussions similaires

  1. Problème de connexion sockets
    Par ptytomtok dans le forum Réseau
    Réponses: 16
    Dernier message: 15/04/2013, 21h01
  2. Problème de connexion Socket en TCP
    Par jerdream78 dans le forum Réseau
    Réponses: 11
    Dernier message: 26/02/2010, 12h05
  3. problème de connexion :socket
    Par alamidev dans le forum C#
    Réponses: 0
    Dernier message: 29/04/2009, 13h23
  4. Problème de connexion socket
    Par stephane.julien dans le forum C#
    Réponses: 3
    Dernier message: 24/04/2008, 18h28
  5. problème de connexion sur un socket SSL
    Par koolway dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 21/06/2006, 11h20

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