WebElektronika

TCP Kliens készítése .NET környezetben

person access_time 2016.02.19.
Előző cikkünkben elkészítettünk egy szerver alkalmazást, amelyre TCP protokoll segítségével lehet csatlakozni. Megvalósítunk most egy klienst ehhez a szerverhez. A kliens segítségével egy string-et küldünk a szerverhez, amelyet ott meg is jelenítünk.


Indítsuk el a Visual Studio-t, és hozzunk létre egy Console-os alkalmazást (1. ábra).

kep
1. ábra   A kliens projekt létrehozása
 

A Program osztályban található Main metódus tartalmát módosítsuk a következő program szerint.

class Program
    {
        public static void Main()
        {
            int portszam = 8080;
            try
            {
                TcpClient tcpKliens = new TcpClient();

                tcpKliens.Connect("127.0.0.1", portszam);

                Console.WriteLine("Létrejött a kapcsolat");
                Console.Write("Írj be ide max 50 karaktert : ");

                String str = Console.ReadLine();
                Stream stm = tcpKliens.GetStream();

                ASCIIEncoding asen = new ASCIIEncoding();
                byte[] tomb = asen.GetBytes(str);

                stm.Write(tomb, 0, tomb.Length);

                tcpKliens.Close();
            }

            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
           Console.ReadLine();
        }
    }

 

Indítsuk el debug módban az alkalmazásunkat (2. ábra). Látjuk, hogy a Console alkalmazásunk várja a maximum 50 karakter széles string-ünket.

kep
2. ábra   Alkalmazásunk futása
 

Adjunk most meg egy karaktersorozatot (3. ábra).

kep
3. ábra   String megadása
 

Ha a szervert a kliens indítása előtt nem indítjuk el, akkor a kliensünk nem tud csatlakozni. Ez futási hibát eredményez, tehát kivételdobás történik. Hogy ezt a kivételt ne a fejlesztőkörnyezet/operációs rendszer kapja el, alkalmaztunk a programunkban egy kivételkezelést. Ennek a működése látható a 4. ábrán.

kep
4. ábra   Futási hiba "elkapása" (Kattints a képre)