Nauč se s námi víc. Využij 50% bonus na e-learningové kurzy.
Pouze tento týden sleva až 80 % na e-learning týkající se Javy
discount week 50
Avatar
Dominika Šulcová(dominiQa):14.5.2014 16:22

ahoj, dělám naslouchání na serveru přes Task, ale prý se to dá udělat pomocí asnychronní metody. Bohužel netuším moc jak. Tohle mám:

public Task Prijimej()
       {
           return Task.Factory.StartNew(() =>
           {
               do
               {
                   string zprava = "";
                   while (spojeni.Client.Available > 0)//ma nejaký data k prijmutí
                   {
                       byte[] bajty = new byte[spojeni.Client.Available];//načni bajty
                       zprava = Encoding.UTF8.GetString(bajty);/
                       Application.Current.Dispatcher.Invoke(() => Zpravy.Add(zprava));//vlož do listu zpráv, a tady má být to await
                   }
               }
               while (spojeni.Connected)
           });
       }

díky za rady

Odpovědět
14.5.2014 16:22
I ♥ nutella
Avatar
Odpovídá na Dominika Šulcová(dominiQa)
Jakub Lásko[Saarix]:15.5.2014 10:30

Bude potřeba tu celou metodu dát typově jako asynchronní a pak uvnitř metody můžeš použít klíčové slovo await.

Pak se jen normálně slovíčko await napíše před "task", který se má provést asynchronně.

Nahoru Odpovědět
15.5.2014 10:30
Časem je vše možné.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Paradise
Redaktor
Avatar
Paradise:15.5.2014 11:09

Metodu je třeba označit klíčovým slovem async. Ten Dispatcher tam ani být nemusí, ne?

 
Nahoru Odpovědět
15.5.2014 11:09
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.