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:
- Otvoriť TCP server socket na porte
9000
- Otvoriť komunikáciu s klientom a v cykle (kým je aktívne pripojenie) čakať na správu
- Obsah správy server vráti naspäť klientovi ale v uppercase (len pre ubezpečenie sa, že správu server obdržal)
- 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:
- 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
- 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:
- 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
- pri prezentovaní demonštruj túto hru použitím dvoch samostatných počítačov