C# UDP receiver

Signaler
Messages postés
20
Date d'inscription
jeudi 9 avril 2020
Statut
Membre
Dernière intervention
20 août 2020
-
Messages postés
14745
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 septembre 2020
-
Bonjour, Cher tous, je suis confronté à un problème je dois créer une app qui reçois des packets sur un port choisi, cependant j'aimerai qu'une fois avoir lancer l'acquisition mon applis ne sois pas freeze donc possiblement sur un autre thread mais je m'y connais pas, j'aimerai aussi qu'une fois l'acquisiton lancer mon btn passe en texte ("En attente") et quand l'acquisition est faite pouvoir relancer une acquisition sur le même pour ou un autre que j'aurais rentrer dans une text box. Voici mon code :
            bool result = int.TryParse(txtBPortR.Text, out int port);
            if (port > 9999 || port < 0 || result == false)
            {
                MessageBox.Show("Entrer un port valide", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                txtBPortR.Text = null;
            }
            else
            {
                IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, port);
                UdpClient listener = new UdpClient(port);
                receive_byte_array = listener.Receive(ref groupEP);
                received_data = Encoding.ASCII.GetString(receive_byte_array, 0, receive_byte_array.Length);
                richTextBox1.Text += DateTime.Now.Hour + ":" + DateTime.Now.Minute + " Received data: " + received_data.ToString() + "Port :" + port.ToString() + "\n";
                listener.Close();
            }




Configuration: Windows / Firefox 78.0

1 réponse

Messages postés
14745
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 septembre 2020
573
Bonjour

Là oui t’a pas le choix, il te faut faire du multithread.
Commence par lire des tutos sur le sujet.