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
Servertrebuie să aibă un constructor cu un argument de tip int: port. Constructorul nu arunca exceptii. - Clasa
Servertrebuie 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
Servertrebuie 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
Servertrebuie să fie executabilă, iar metodamaintrebuie 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
Clienttrebuie să aibă un constructor cu două argumente: String host, int port. Constructorul nu arunca exceptii. - Clasa
Clienttrebuie 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
Clienttrebuie să fie executabilă, iar metodamaintrebuie 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.