Colocviu POO 2015-2016
De la WikiLabs
Versiunea din 14 ianuarie 2016 16:03, autor: Rhobincu (discuție | contribuții)
Să se scrie o clasă seriaf.poo.colocviu.Server
care să accepte conexiuni de la clienți și pentru orice client care se conectează, să serializeze un obiect de tip String reprezentand un citat faimos, ales aleator dintr-un vector.
Reguli suplimentare:
- Clasa
Server
trebuie să aibă un constructor cu un argument de tip int: port. Constructorul nu arunca exceptii. - Clasa
Server
trebuie să aibă o metodăString getRandomQuote()
, apelabilă fără un obiect de tipServer
, și care la fiecare apel să întoarcă un String reprezentând un citat dintr-o listă de cel puțin 5 citate (scrise de voi, sau cautate pe Internet). Vezi clasajava.util.Random
- Clasa
Server
trebuie să aibă o metodăvoid listen()
, care să accepte conexiuni de la clienți într-o buclă infinită, pe portul dat constructorului, și pentru fiecare client conectat să serializeze un String obțiunt prin apelul metodeiString getRandomQuote()
. Această metodă trebuie să poată arunca excepții. - Clasa
Server
trebuie să fie executabilă, iar metodamain
trebuie să instanțieze un obiect de tipServer
, folosind ca port primul argument specificat la execuție și sa apeleze pentru el metodalisten
.
Să se scrie o clasă seriaf.poo.colocviu.Client
care să să conecteze la un Server, să citească de la server un String reprezentand un citat pe care să îl afișeze pe ecran.
Reguli suplimentare:
- Clasa
Client
trebuie să aibă un constructor cu două argumente: String host, int port. Constructorul nu arunca exceptii. - Clasa
Client
trebuie să aibă o metodăString getQuote()
, care să se conecteze la un server care rulează host-ul și portul specificat constructorului și să întoarcă un obiect de tip String deserializat dinspre server. Această metodă trebuie să poată arunca excepții. - Clasa
Client
trebuie să fie executabilă, iar metodamain
trebuie să instanțieze un obiect de tipClient
, folosind ca host și port primele două argumente specificate la execuție, să apeleze pentru el metodagetQuote
și să afișeze string-ul obținut pe ecran.