C# UDP receiver

Fermé
MelmanM Messages postés 20 Date d'inscription jeudi 9 avril 2020 Statut Membre Dernière intervention 20 août 2020 - 31 juil. 2020 à 10:37
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 1 août 2020 à 11:55
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

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
1 août 2020 à 11:55
Bonjour

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