fel
le

ZH - like

Készítsen kliens + szerver alkalmazást az alábbi problémára: a közösség segít az új tagoknak beilleszkedni. A tagok stílusuknak és előismereteiknek megfelelő állításokat (mondatok) fogalmaznak meg, melyet a közösség többi tagja elolvas, és visszajelzi, hogy az a közösség szerint mennyire tolerálhat (like-olás). Ennek megfelelően minden ilyen állításról az alábbit tudjuk nyilvántartani:

  • id (egész szám)
  • az állítás (szöveg)
  • like-ok száma (egész szám)
  • dislike-ok száma (egész szám)
  • a szöveget véleményező user-ek listája
  • felrakójának login neve (string)

A szerver felé fel lehet ajánlani (ÁLLÍT) állítást, de csak login után. A login után a többiek véleményeznek (VÉLEMÉNY). A szerver az állításokat gyűjti, melyet meg is lehet tekinteni (ÁLLÍTÁSOK), ehhez nem kell login sem. A felrakott állításoknak a szerver ad egyedi azonosítót (id). Ennek megfelelően az alábbi protokollt kell alkalmazni:

  • ÁLLÍTÁSOK: eredménye a szerveren tárolt véleményezésre váró állítások listája. ha login nélkül kérjük le, akkor minden állítást megkapunk. ha login után kérjük le a listát, akkor csak azokat kapjuk meg, amelyeket még nem véleményeztünk. a sorok szerkezete: <id>|<felrako>|<szöveg>|<like-ok száma>|<dislike-ok száma>
  • LOGIN|<user>|<jelszo>: eredménye vagy OK vagy ERR|<hibaüzenet>. elfogadható, ha a program szövegébe "beégetett" loginok vannak, 2-3 darab.
  • ÁLLÍT|<szöveg>: csak sikeres login után kiadható parancs. a szerver válasza OK vagy ERR|<hibaüzenet>
  • LIKE|<id>: csak sikeres login után kiadható parancs. a szervernek garantálnia kell, hogy egy állítást egy user csak egyszer véleményezhet. a szerver válasza vagy OK vagy ERR|<hibaüzenet>.
  • DISLIKE|<id>: teljesen hasonló a like-hoz
  • SAJATOK: csak login után kérhető le, a saját állítások és azok jelenlegi státuszát (like, dislike száma) adja meg.

A szerver egy időben több klienssel is tartsa a kapcsolatot. A klienseknek a logint csak egyszer kell beküldeni (logout parancs nincs). A megoldásokat (kliens.cs és szerver.cs fileokat) csatolva a xyz@internet.hu email címre kell beküldeni. A forráskódokban a programozó neve legyen komment formájában benne!

Hernyák Zoltán
2013-04-15 14:00:11