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 socket connection


Sujet :

C#

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Problème socket connection
    Bonjour, J'ai codée une méthode connexion en passant par les sockets, mon problème est : si je me connecte a une adresse bidon, ma méthode génère 0 exception et donc mon programme se connecte a une adresse bidon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    IPEndPoint EndPoint = new IPEndPoint(Adresse, Port);
     
    Socket Client_PDA = new Socket(EndPoint.Address.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
     
     
    Client_PDA.BeginConnect(EndPoint, null, Client_PDA);

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 34
    Points
    34
    Par défaut
    Je sais pas trop si ça peut t'aider, moi j'utilise une connexion par sockets qui marche niquel avec ce code...

    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
     
    private Socket _socket = null;
    IPHostEntry serverHE;
     
    //création du socket
    _socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     
    //connexion
    serverHE = Dns.GetHostEntry("adresse");
    IPEndPoint localEP = new IPEndPoint(serverHE.AddressList[0], "port");
    _socket.Connect(localEP);
     
    //déconnexion
    _socket.Disconnect(true);
     
    //fermeture du socket
    _socket.Close();
    _socket = null;

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci mais j'ai une contrainte, c'est que je dois utiliser la méthode BeginConnect() avec 3 paramètre, parce qu'elle est compatible sur PDA.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 34
    Points
    34
    Par défaut
    Je trouve étonnant que dans ton appel tu fasses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Client_PDA.BeginConnect (EndPoint,null,Client_PDA)
    Le fait que tu appelles la méthode BeginConnect sur ton socket, puis que tu le rappelles dans les paramètres de la connexion me semble suspect...

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Ben ... Le problème c'est que j'ai a peut près tous tester pour les 2 derniers paramètre de la méthode BeginConnect() et j'ai tous le temps le même problème ( il se connecte sur les adresses bidon ) et donc voila pourquoi je fait appel à toi et aux autres...

    Merci

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 34
    Points
    34
    Par défaut
    Tu as pas la signature la méthode ??

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Non je ne pense pas avoir de signature de méthode, j'aimerais juste que ma méthode beginconnect() me génère une exception quand il se connecte a une adresse bidon.

    Merci

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 34
    Points
    34
    Par défaut
    Tu n'as pas moyen de savoir ce qui correspond aux 3 paramètres de BeginConnect ? C'est ennuyeux ça ...

  9. #9
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    C'est bon j'ai réussi... Voici mon code qui marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //Implémente l'interface de sockets
                        Client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                        //Démarre une demande asynchrone pour une connexion d'hôte distant
                        Client.BeginConnect(EndPoint, null, null);
                        //Pause pour permettre la validation du Connected
                        Thread.Sleep(1);
                        //Test qui valide la connexion
                        if (Client.Connected == false)
                            throw new CMslExcept<TDefautReseau>(TDefautReseau.CONNEXION, CDefautReseauMsg.CONNEXION);
    En faite je c'est pas pourquoi mais quand je met un sleep j'ai mon Client.connected à le temps de se mettre a jour après mon beginconnect().

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

Discussions similaires

  1. java socket:problème de connection
    Par gilles81 dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 18/08/2009, 12h18
  2. Problème Socket : Connection refused
    Par firgon dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 19/03/2009, 08h18
  3. Problème de connection socket
    Par rodgeurette dans le forum C++Builder
    Réponses: 5
    Dernier message: 13/06/2008, 11h40
  4. Problème de connection Socket Client
    Par xyz dans le forum Réseau
    Réponses: 27
    Dernier message: 12/04/2006, 15h13
  5. problème de connection mysql par tcp/ip
    Par leroyphil dans le forum Administration
    Réponses: 5
    Dernier message: 04/09/2003, 18h27

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