Пример #1
0
        private void Czytaj()
        {
            TcpClient     Klient;
            NetworkStream Strumien;
            StreamWriter  Zapis;
            StreamReader  Odczyt;
            string        Linijka;

            Klient   = Serwer.AcceptTcpClient();
            Strumien = Klient.GetStream();
            Strumien.WriteTimeout = 3000;
            Zapis  = new StreamWriter(Strumien);
            Odczyt = new StreamReader(Strumien);

            while ((Linijka = Odczyt.ReadLine()) != null)
            {
                if (Linijka.Contains("T"))
                {
                    Zapis.WriteLine("T_OK");
                    Zapis.Flush();
                }
                else if (Linijka.Contains("W"))
                {
                    Zapis.WriteLine("W_OK");
                    Zapis.Flush();
                    Zamykanie.Wylacz();
                }
            }
            Strumien.Close();
            Klient.Close();
        }
Пример #2
0
        private void Watek_WyslijPakiet(string adres)
        {
            TcpClient     Klient;
            NetworkStream Strumien;
            StreamWriter  Zapis;
            StreamReader  Odczyt;
            string        Txt;

            //Pingowanie
            {
                if (new Ping().Send(adres, 1000, Encoding.ASCII.GetBytes("AAAA")).Status != IPStatus.Success)
                {
                    Watek_DodajKafelek(adres, MetroColorStyle.Black);
                    return;
                }
            }

            //Połączenie TCP
            {
                try
                {
                    Klient         = new TcpClient();
                    Klient.NoDelay = true;
                    Klient.Connect(adres, 2736);
                }
                catch (SocketException)
                {
                    Watek_DodajKafelek(adres, MetroColorStyle.Red);
                    return;
                }

                Strumien              = Klient.GetStream();
                Strumien.ReadTimeout  = 1000;
                Strumien.WriteTimeout = 1000;
                Zapis  = new StreamWriter(Strumien);
                Odczyt = new StreamReader(Strumien);
            }

            //Wysłanie wiadomości
            {
                Zapis.WriteLine(Tryb >= 1 ? "W" : "T");
                Zapis.Flush();
            }

            //Odebranie wiadomości zwrotnej
            {
                try
                {
                    Txt = Odczyt.ReadLine();

                    if (!Txt.Contains(Tryb == 0 ? "T_OK" : "W_OK"))
                    {
                        throw new IOException();
                    }

                    Odczyt.Close();
                }
                catch (IOException)
                {
                    Watek_DodajKafelek(adres, MetroColorStyle.Yellow);
                    Strumien.Close();
                    Klient.Close();
                    return;
                }
            }

            //Zakończenie
            {
                Strumien.Close();
                Klient.Close();
            }

            //Dodanie kafelka
            {
                Watek_DodajKafelek(adres, MetroColorStyle.Green);
            }
        }