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

VB.NET Discussion :

Socket UDP


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 129
    Par défaut Socket UDP
    Bonjour,

    Après avoir chercher sur les forums, les tuto, etc... j'ai trouver plusieurs bouts de codes concernant les sockets UDP.
    J'essaye de déterminer si mon port UDP est ouvert ou non.
    Je vous montre mon 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
     
                    Dim mySocketUDP As New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Dgram, System.Net.Sockets.ProtocolType.Udp)
                    Try
                        mySocketUDP.Connect(Host_IP, Host_Port)
                        Console.WriteLine(mySocketUDP.Connected)
                        If Not mySocketUDP.Connected Then ' Test si le socket est connecté donc si il y a un connexion au port
                            ' Si le port est fermé
                            State_Port = "Close"
                        Else
                            ' Si le port est ouvert
                            State_Port = "Open"
                        End If
                    Catch ex As Exception
                        ' Si la connexion retourne une erreur. Interprété comme port fermé ou périphérique injoignable
                        State_Port = "Close"
                        MsgBox(ex.ToString)
                    End Try
    Je fais un netstat sur mon serveur afin de déterminer les ports ouvert ou non. Qud je lance ma requête UDP, elle trouve tous les ports UDP ouvert, alors que seulement certains sont ouverts sur le serveur.
    J'ai regardé aussi vers le ClientUDP et même combat.
    Cela fonctionne très bien avec le TCP mais l'UDP....

    Quelqu'un pourrait me dire ce que j'ai codé de travers?

    Merci d'avance

    Anax

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    UDP est un protocole déconnecté... Donc ça n'a pas vraiment de sens de faire un Connect sur une socket UDP

    En fait, ça fait effectivement quelque chose, mais ça n'ouvre pas de connection :

    http://msdn.microsoft.com/fr-fr/library/4xzx2d41.aspx
    Citation Envoyé par MSDN
    Si vous utilisez un protocole orienté connexion, tel que TCP, la méthode Connect établit de manière synchrone une connexion réseau entre la propriété LocalEndPoint et le point de terminaison distant spécifié. Si vous utilisez un protocole sans connexion, Connect établit un hôte distant par défaut. Après avoir appelé Connect, vous pouvez envoyer des données au périphérique distant à l'aide de la méthode Send, ou recevoir des données du périphérique distant à l'aide de la méthode Receive.
    Donc c'est normal que le Connect réussisse à chaque fois...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 129
    Par défaut
    Ok je devais être pas loin des bras de Morphée qud je suis passé sur cette page
    Par contre, après quelques test la fonction active m'a l'air interessante mais je ne sais pas comment l'utiliser.
    voici l'url : http://msdn.microsoft.com/fr-fr/libr...nt.active.aspx

    Je ne sais pas ce que tu en penses ? Sinon je ne vois pas comment déterminer si le port UDP xx est en ecoute ou non.

    Merci encore pour tes conseils

    Anax

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je ne pense pas que cette fonction te permette de savoir si l'hôte distant est en écoute... En UDP, le seul moyen de savoir ça serait d'envoyer un datagramme et que le serveur renvoie un "accusé de réception". Si le serveur n'envoie pas de réponse, tu ne peux pas savoir si ton paquet est bien arrivé, puisque le protocole UDP n'a pas de mécanisme de contrôle de transfert comme TCP.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 129
    Par défaut
    ok merci bcp Je vais laisser tomber l'UDP pour le moment

    Anax

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

Discussions similaires

  1. Pb de socket udp
    Par phoenixia dans le forum MFC
    Réponses: 7
    Dernier message: 01/06/2006, 17h08
  2. [socket UDP] Codage BER : Format des Tag (TLG)
    Par Lolita59 dans le forum Réseau
    Réponses: 28
    Dernier message: 19/05/2006, 17h37
  3. Socket : UDP ou TCP
    Par lafracas dans le forum Développement
    Réponses: 2
    Dernier message: 10/04/2006, 22h43
  4. code c pour sockets (udp vers tcp et inversement)
    Par HiT dans le forum Développement
    Réponses: 11
    Dernier message: 19/11/2005, 18h03
  5. Notion sur Socket UDP
    Par oxor3 dans le forum Développement
    Réponses: 3
    Dernier message: 05/04/2004, 00h19

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