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 :

Connexion protocole UDP


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Points : 72
    Points
    72
    Par défaut Connexion protocole UDP
    Bonjour, j'essai de me connecter à un serveur sur le protocole UDP et de récupérer les données envoyées par le serveur.

    Mon but étant de savoir premièrement si un serveur est en ligne et deuxièmement se qu'il m'envoi lorsque j'y suis connecté.
    Je ne connais pas vraiment le protocole UDP même si j'ai lu des articles dessus mais voici se que j'ai commencé à coder :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim objudp As New UdpClient
     
            Dim ip As New IPEndPoint("192.168.0.12", 27960)
            Dim recu = Encoding.Unicode.GetString(objudp.Receive(ip))
     
            MsgBox(recu)
        End Sub
    Apparemment le code après le "Dim recu" ne s'execute pas.
    Si une personne peux m'aider merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Points : 455
    Points
    455
    Par défaut
    Il y a un tuto sur le reseau en vb net ici

    Apres j'ai pris ton code et je suis passé en debug j'ai déjà deux erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim objudp As New UdpClient
    'Rajout conversion de l'adresse IP en long        
    Dim intAddress As Integer = BitConverter.ToInt32(IPAddress.Parse("192.168.0.12").GetAddressBytes(), 0)
    Dim ip As New IPEndPoint(intAddress, 27960)
    Dim recu = Encoding.Unicode.GetString(objudp.Receive(ip))
     
    MsgBox(recu)

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Points : 72
    Points
    72
    Par défaut
    Quand je connecte mon objet mon antivirus (AVG) me fou une alerte Cheval de troie...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim objudp As New UdpClient
     
     
            'Rajout conversion de l'adresse IP en long        
            Dim intAddress As Integer = BitConverter.ToInt32(IPAddress.Parse("192.168.0.12").GetAddressBytes(), 0)
            Dim ip As New IPEndPoint(intAddress, 27960)
            objudp.Connect(ip)
            Dim recu = Encoding.Unicode.GetString(objudp.Receive(ip))
     
            MsgBox(recu)
        End Sub

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Points : 455
    Points
    455
    Par défaut
    La je sais pas trop j'ai rien trouvé de similaire...
    Mais après y a l'exemple de la MSDN et voir peut etre du coté de SocketPermission

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Points : 72
    Points
    72
    Par défaut
    Bon du coup j'ai regardé côté serveur UDP afin de bien comprendre le fonctionnement de ce protocole j'ai fait cette source client / serveur en boucle que je met à disposition si cela peux servir :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Imports System.Net
    Imports System.Net.Sockets
    Imports System.Text
     
    Public Class Form1
        Public UDPCli As UdpClient
        Public UDPSer As UdpClient
        Public Start As Boolean = False
     
        ' Démarre le serveur
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Start = True
            Button2.Enabled = False
            Button3.Enabled = True
            Dim th As New Threading.Thread(AddressOf Serveur) : th.Start()
        End Sub
     
        ' Arrêt du serveur (du thread)
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Start = False
        End Sub
     
        ' Serveur sur un nouveau Thread
        Public Sub Serveur()
            While Start = True
                Try
                    UDPSer = New UdpClient(11) ' Bind sur le port 11
                    UDPSer.Client.ReceiveTimeout = 1000
                    Dim recu As Byte() = UDPSer.Receive(New IPEndPoint(IPAddress.Parse("127.0.0.1"), 11)) ' Attente d'un message sur le port 11
                    MsgBox(Encoding.UTF8.GetString(recu))
                Catch ex As Exception
                    ' Timeout
                End Try
     
                UDPSer.Close()
            End While
     
            Me.Invoke(Sub() Button2.Enabled = True)
            Me.Invoke(Sub() Button3.Enabled = False)
        End Sub
     
        ' Envoi d'un message "Hello"
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            UDPCli = New UdpClient()
            UDPCli.Connect(New IPEndPoint(IPAddress.Parse("127.0.0.1"), 11))
            Dim send As Byte() = Encoding.UTF8.GetBytes("Hello!")
            UDPCli.Send(send, send.Length)
            UDPCli.Close()
        End Sub
     
    End Class
    Donc pour conclure il n'y a aucun moyen de savoir si un serveur UDP est en ligne à part si celui-ci nous renvoi une information.

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

Discussions similaires

  1. Indy 10 & protocole UDP
    Par Hiker's dans le forum Web & réseau
    Réponses: 2
    Dernier message: 22/01/2009, 15h24
  2. des informations sur le protocole udp
    Par hanou88 dans le forum Matériel
    Réponses: 2
    Dernier message: 22/12/2008, 00h02
  3. Protocole UDP (séquence/acquittement/temporisateur)
    Par hbhhhbhh dans le forum Réseau
    Réponses: 4
    Dernier message: 31/03/2008, 17h55
  4. Protocole UDP, adresse MAC distante
    Par rockt13 dans le forum Réseau
    Réponses: 6
    Dernier message: 08/02/2007, 16h55
  5. Réponses: 10
    Dernier message: 10/01/2006, 10h12

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