7.4 Projekt - TCP komunikácia

Vytvor v jazyku Kotlin 2 samostatné projekty pre klienta a server TCP komunikácie.

Server

Server bude implementovať jednoduchý echo server, ktorý vráti jedinému klientovi všetky prijaté správy. Jeho úlohou teda bude:

  1. Otvoriť TCP server socket na porte 9000
  2. Otvoriť komunikáciu s klientom a v cykle (kým je aktívne pripojenie) čakať na správu
  3. Obsah správy server vráti naspäť klientovi ale v uppercase (len pre ubezpečenie sa, že správu server obdržal)
  4. Akonáhle klient pošle správu s textom exit, server ukončí komunikáciu s klientom

Klient

Klient sa pokúsi nadviazať komunikáciu so serverom a vymieňať si s ním správy nasledovne:

  1. Napojiť sa na server
    • ak server beží na tom istom PC, použi adresu localhost
    • ak server beží na inom PC, použi IP adresu daného PC
  2. V cykle (kým je aktívne pripojenie)
    • načítať správu zo štandardného vstupu
    • poslať správu na server
    • načítať správu zo servera
    • vypísať správu na štandardný výstup

Minimálna implementácia

Minimálnu implementáciu si môžeš stiahnuť tu:

Pri spúšťaní sa ubezpeč, že server bude bežať skôr, ako zapneš klienta.

OOP

Využi objektovo-orientované programovanie pre spravovanie tohto spojenia a doplnkovej funkcionality:

  1. vymysli jednoduchú hru, ktorú môžu dvaja hrať cez TCP komunikáciu - napríklad kameň-papier-nožnice alebo hádaj na čo myslím
  2. pri prezentovaní demonštruj túto hru použitím dvoch samostatných počítačov