void subskrybuj(string temat, ref bool subskrypcja, ProgressBar pb, TrescWiadomosci tw, Label l) { using (SubscriberSocket ss = new SubscriberSocket()) { try { ss.Connect("tcp://" + poleNaIp.Text + ":12345"); } catch (SocketException se) { MessageBox.Show(se.Message); Invoke(new MethodInvoker(() => { subskrybujGrupa.Enabled = true; poleNaIp.Enabled = true; polacz.Enabled = true; stop.Enabled = false; zarzadzajSerweremGrupa.Enabled = false; })); return; } ss.Subscribe(temat); while (subskrypcja) { ss.ReceiveFrameString(); float wartosc = float.Parse(ss.ReceiveFrameString(), CultureInfo.CurrentCulture.NumberFormat); MethodInvoker mi = new MethodInvoker(() => aktualizujPasekPostepu(pb, wartosc, tw, l)); Invoke(mi); } } }
void aktualizujPasekPostepu(ProgressBar pb, float wartosc, TrescWiadomosci tw, Label l) { pb.Value = (int)wartosc; switch (tw) { case TrescWiadomosci.Ram: l.Text = "Dostępny RAM: " + wartosc.ToString() + " MB"; break; case TrescWiadomosci.Cpu: l.Text = "Zużycie procesora: " + wartosc.ToString() + "%"; break; case TrescWiadomosci.Nwm: l.Text = "Proces serwera zużywa: " + wartosc.ToString() + " MB"; break; default: break; } }
void subskrybuj(string temat, ref bool subskrypcja, ProgressBar pb, TrescWiadomosci tw, TextView l) { using (SubscriberSocket ss = new SubscriberSocket()) { try { ss.Connect("tcp://" + AdresIp.IP + ":12345"); } catch (SocketException) { Toast.MakeText(Application.Context, "Błąd połączenia", ToastLength.Long).Show(); return; } ss.Subscribe(temat); while (subskrypcja) { ss.ReceiveFrameString(); float wartosc = float.Parse(ss.ReceiveFrameString(), CultureInfo.CurrentCulture.NumberFormat); RunOnUiThread(() => aktualizujPasekPostepu(pb, wartosc, tw, l)); } } }