begin process at 2010 02 10 10:28:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Autre

 > 

Transfert données entre une Thread et un Form


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Transfert données entre une Thread et un Form

samedi 13 janvier 2007 à 14:20:28 | Transfert données entre une Thread et un Form

walteau

Membre Club
Bonjour à tous, je suis en train de développer dans le cadre d'experimentation une application qui envoi un message Udp vers le port 11000 de mon pc. Une Thread est lancée afin de receptionner les divers messages udp reçu.
Voici le code de ma FormPrincipale :

   public Thread sampleUdpThread;
        public Form1()
        {
            InitializeComponent();
//Lance l'ecoute Udp
           sampleUdpThread = new Thread(new ThreadStart(StartListener));
           sampleUdpThread.IsBackground = true;
            sampleUdpThread.Start();
            Console.WriteLine("Started SampleTcpUdpServer's UDP Receiver Thread!\n");
        }

        private void button1_Click(object sender, EventArgs e)
        {
//Envoi le message
            Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,
           ProtocolType.Udp);

            IPAddress broadcast = IPAddress.Parse("5.110.124.52");

            byte[] sendbuf = Encoding.ASCII.GetBytes(textBox1.Text);
            IPEndPoint ep = new IPEndPoint(broadcast, 11000);

            s.SendTo(sendbuf, ep);
        }
        private void StartListener()
        {
            bool done = false;
            int listenPort = 11000;
            UdpClient listener = new UdpClient(listenPort);
            IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, listenPort);

            try
            {
                while (!done)
                {
                    byte[] bytes = listener.Receive(ref groupEP);
                   
                    //Lance un Thread gérant le message reçu
                    Gestion_message _gestionmessage = new Gestion_message(groupEP, bytes);
                   
                    Thread gèreUdpMessagesThread = new Thread(new ThreadStart(_gestionmessage.udp));
                    gèreUdpMessagesThread.IsBackground = true;
                    gèreUdpMessagesThread.Start();     
                }

            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                listener.Close();
            }
        }

Et la classe geremessageudp :
 class Gestion_message
    {
        IPEndPoint groupEP;
        byte[] bytes;
        public Gestion_message(IPEndPoint _groupEP, byte[] _bytes)
        {
            bytes = _bytes;
            groupEP = _groupEP;
        }
        public delegate void addMessageDelegate(string message);
        public void Ajout_textbox2(string message)
        {
            //Je souhaiterai pouvoir mettre ici a jour la valeur du TextBox2.Text qui est dans la form 1
        }
        public void udp()
        {
            MessageBox.Show("Received broadcast from " + groupEP.ToString() + " :\n" +
                Encoding.ASCII.GetString(bytes, 0, bytes.Length));

            new addMessageDelegate(Ajout_textbox2).Invoke(
                "Received broadcast from " + groupEP.ToString() + " :\n" +
                Encoding.ASCII.GetString(bytes, 0, bytes.Length));
        }
    }
Quelqu'un peut il me venir en aide ? Merci d'avance à tous !
samedi 13 janvier 2007 à 14:30:56 | Re : Transfert données entre une Thread et un Form

Bidou

Administrateur CodeS-SourceS
Salut,
Voici une source pour le passage de paramètre entre les Form et une source pour updater un control qui se trouve dans un thread différent (cross-threading)
Avec ça, tu devrais t'en sortir



-Blog-
samedi 13 janvier 2007 à 14:36:26 | Re : Transfert données entre une Thread et un Form

walteau

Membre Club
Merci, mais j'avais déja jeter un oeil à ces deux sources, le probleme auquel je suis confronté c'est que je ne peut ou plutot je ne sais pas modifier les donnees des controles de la premiere Form depuis la classe (gereudpmessage) que j'ai crée..
samedi 13 janvier 2007 à 14:52:15 | Re : Transfert données entre une Thread et un Form

walteau

Membre Club
Quelqu'un a-t-il une solution à mon problème svp ?
dimanche 21 janvier 2007 à 22:06:59 | Re : Transfert données entre une Thread et un Form

ShareVB

salut,

peut être :
http://www.dotnet247.com/247reference/msgs/38/192977.aspx
http://www.codeproject.com/cs/threads/threadpoolmanager.asp

ShareVB


Cette discussion est classée dans : message, thread, bytes, udp, groupep


Répondre à ce message

Sujets en rapport avec ce message

Arret d'un thread [ par icedreamer ] Bonjour,J'essaye d'arreter proprement un thread de cette manière :t.Abort();ce qui effectue bien l'arret du thread ...mais il m'affiche un message :"T Thread Events Invoke --> Je rends les armes .... [ par ylerazer ] Bonjour, je suis nouveau en C# et j'essaie de me faire des classes intelligentes .. mais j'ai bien peur qu'elles ne soient plus intelligentes que moi. Pb d'affichage de fenetre et thread... [ par bigflo ] Salut,Je developpe un client de tchat en c#.Mais j'ai quelque pb d'affichage des fenetres de tchat. Explication:Bon, j'ai une treeview et lorsque je d Problème avec Mon appli [ par Noursounet ] Bonjour à tous! Je me suis mis il y a pas très longtemps au C#. Je développe donc en ce moment mes propres DLL de Client/Serveur et par habitude j'aim PB avec activeX [ par titi66 ] Bonjourj'utilise un activex pour controler des caméras IP , lorsque je veux afficher une deuxieme fenetre avec une caméra j'ai le message suivant : "I Décodage d'un message venant d'un server POP [ par Peslami ] Je fais une application qui me permet de lire les mails d'un server pop, comme l'application  dont j'ai prit l'exemple est que j'ai trouver sur ce sit Fermeture application [ par thebigboss ] Bonjour,j'ai un petit soucis, je suis en train de développer une petite appli à base de Thread, de TCPClient, de NetworkStream, de TCPListener et de S thread et variable de classe [ par neoisback ] Bonjour,Je vous explique mon probleme :je developpe un server tcp dans le cadre d'un projet, j'ai creer une form afin de suivre les information que re Port serie Message d'erreur [ par nxp ] J'essaie d'ouvre le port serial sur un PDA mobile 5. Ça fonctionne, je recoie le texte. Mais j'ai aussi un message de windows dans la console du genre


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales