|
|
Linia 1: |
Linia 1: |
− | Să se scrie o clasă <code>seriaf.poo.colocviu.Server</code> 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:
| + | Să se scrieee... |
− | # Clasa <code>Server</code> trebuie să aibă un constructor cu un argument de tip int: port. Constructorul nu arunca exceptii.
| |
− | # Clasa <code>Server</code> trebuie să aibă o metodă <code>String getRandomQuote()</code>, apelabilă fără un obiect de tip <code>Server</code>, ș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 clasa <code>java.util.Random</code>
| |
− | # Clasa <code>Server</code> trebuie să aibă o metodă <code>void listen()</code>, 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 metodei <code>String getRandomQuote()</code>. Această metodă trebuie să poată arunca excepții.
| |
− | # Clasa <code>Server</code> trebuie să fie executabilă, iar metoda <code>main</code> trebuie să instanțieze un obiect de tip <code>Server</code>, folosind ca port primul argument specificat la execuție și sa apeleze pentru el metoda <code>listen</code>.
| |
| | | |
− | Să se scrie o clasă <code>seriaf.poo.colocviu.Client</code> 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 <code>Client</code> trebuie să aibă un constructor cu două argumente: String host, int port. Constructorul nu arunca exceptii.
| |
− | # Clasa <code>Client</code> trebuie să aibă o metodă <code>String getQuote()</code>, 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 <code>Client</code> trebuie să fie executabilă, iar metoda <code>main</code> trebuie să instanțieze un obiect de tip <code>Client</code>, folosind ca host și port primele două argumente specificate la execuție, să apeleze pentru el metoda <code>getQuote</code> și să afișeze string-ul obținut pe ecran.
| |