Diferență între revizuiri ale paginii „POO Lab Lucrarea 4”
De la WikiLabs
Jump to navigationJump to search (Pagină nouă: == 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 l...) |
|||
Linia 15: | Linia 15: | ||
== Cerințe == | == Cerințe == | ||
− | * Modificați clasele '''Message''' și '''SystemMessage''' astfel încât să poată fi | + | * 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 două argumente care reprezintă un ''host'' și un ''port'' la care să se conecteze. 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 constant "TestUser", '''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 clasă '''Client''' care să conțină metoda '''main'''. Aceasta primește la execuția programului două argumente care reprezintă un ''host'' și un ''port'' la care să se conecteze. 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 constant "TestUser", '''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'''. | * 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. | * Testați cele două clase rulând serverul într-o consolă și clientul în alta. |
Versiunea de la data 10 iulie 2012 10:57
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 două argumente care reprezintă un host și un port la care să se conecteze. 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 constant "TestUser", 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.