C# UDP receiver

MelmanM Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
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

Utilisateur anonyme
 
Bonjour

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