Na tomto cvičení byste si měli vyzkoušet jednoduchou komunikaci s HTTP serverem a naprogramovat si komunikaci komunikaci Klient-Server.
Úlohy na cvičení
Vytvořte program, který zobrazí obrázek, jehož URL je zadáno jako argument na příkazové řádce.
Vytvořte serverovou aplikaci, která bude na konkrétním portu (používejte porty vyšší než 1024) čekat na spojení a odpovídat na požadavky. Bude se jednat o docházkový server, který bude uchovávat informace:
ID uživatele - long ID
Jméno uživatele - String name
Místo události - String eventPlace
Ćas události - java.util.Date time
Odchod/příchod - boolean access
Komunikační protokol:
HELO jmeno_uzivatele
ID ID_uživatele
EVENT eventPlace(bude si určovat klient)
ENTRY nebo EXIT - říká, jestli uživatel přišel nebo odešel
Pokud je některý příkaz chybný, server vypíše BYE a ukončí komunikaci. Pokud je příkaz v pořádky vypíše jako potvrzení OK po každém příkazu
Po každé provedené seanci server uloží informaci do Listu a vypíše informaci od klienta na konzoli a uloží do Listu. Seanci, která neproběhla v pořádku vypíše na standardní chybový výstup.
Protokol si můžete otestovat přes příkaz telnet
Vytvořte si klienta, který bude v pravidelných posílat náhodně vygenerovaná data a ověří funkčnost serveru. Jako parametr na příkazovém řádku dostane jméno místa, kde nastala událost (proměnná eventPlace)
Doplňte server o příkaz GET /data.html, který klientovi pošle HTML soubor se všemi došlými daty ze všech zdrojů události. Klient tento soubor uloží na disk.
Doplnte server o příkaz GETBINARY, která by klientovi zaslala serializovaný List všech událostí událostí a klient tato data vypíše na konzoli v čitelné podobě.
Otestujte si své klienty a servery mezi ostatními studenty v učebně.