====== Kliens-szerver kommunikáció ====== Ez a fejezet a kliens (=módosított EXE) és a szerver közötti kommunikációt írja le ===== Kommunikáció módja ===== A kommunikáció HTTPS felett fog zajlani, ami egyrészről biztosítja az elküldött adatok titkosságát, másrészről a kliensoldali proxy jelenléte sem zavarja. A "beszélgetést" mindig a kliens kezdeményezi egy GET paranccsal, erre válaszol a szerver. A protokoll-leírásokban csak a paraméter-listát fogom leírni. ===== Bejelentkezés ===== Bejelentkezéskor három paraméter van, ezek: * felhasználó azonosító (userid paraméter, lehet login név is) * felhasználó jelszó (passwd paraméter) * Program(termék) azonosítója (productid paraméter) Sikeres azonosítás esetén a szerver a következő adatokat küldi a válaszban (a válasz formátuma kidolgozásra vár, lehet plain text de xml is): * Session azonosító (a továbbiakban ez azonosítja a "munkamenetet") * Információ, ami szükséges a program elindításához (kriptográfiai kulcs, bináris programrészlet, stb.) Sikeres bejelentkezés után a számlázás (=kreditek levonása) megkezdődik és kijelentkezésig, illetve 2t időt meghaladó ping üzenetig tart. ===== Heartbeat kérések ===== Egy heartbeat jellegű GET kérés megy minden t időközönként (t fix). Az üzenet csak a bejelentkezéskor kapott session azonosítót tartalmazza. Amennyiben kétszer egymás után nem sikerül elküldeni a kérést, a szerver megállítja a számlázást, a kliens pedig figyelmeztető képernyő után bizonyos idővel megszakítja a program futását. ===== Kijelentkezés ===== Amikor a felhasználó kilép a programból, a hozzáadott programrész egy LOGOUT jellegű GET kérést küld a szervernek. A kérés paramétere megintcsak a session id.