POO Lab Lucrarea 4
De la WikiLabs
Noțiuni și cunoștințe necesare
- Paradigma Obiect-Orientare; Clase și obiecte
- Noțiuni despre Java
- Realizarea și execuția unui program Java
- Sintaxa limbajului Java; Structura lexicală a unui program
- Convenții de programare
- Noțiuni avansate de programare obiect-orientată
- Java Application Programming Interface (API)
- Stream-uri de Input/Output
- Tratarea excepțiilor
- Serializarea obiectelor
- Socket-uri de rețea
Cerințe
- Modificați clasele Message și SystemMessage astfel încât să poată fi serializate. Folosiți serialVersionUID = 1 pentru Message și serialVersionUID = 2 pentru SystemMessage.
- Scrieți o clasă Client care să conțină metoda main. Aceasta primește la execuția programului trei argumente care reprezintă un host și un port la care să se conecteze, și un nume de utilizator. Creați un socket de rețea care să se conecteze la serverul specificat și folosind clasa Console citiți mesaje de la tastatură, instanțiați obiecte de tip Message cu sender fiind numele de utilizator primit ca argument, receiver fiind null și content fiind textul primit de la tastatură, și serializați obiectele către server. Clientul nu se oprește decât forțat cu combinația de taste Ctrl + c.
- Scrieți o clasa Server care să conțină metoda main. Acesta primește la execuția programului un argument care reprezintă port-ul pe care să accepte conexiuni. Odată un client conectat, serverul citește obiecte de tip Message de pe stream și le afișează în consolă folosind metoda print.
- Testați cele două clase rulând serverul într-o consolă și clientul în alta.