- Kazda zprava mezi klientem a serverem ma dve casti
- Header - v hlavicce zpravy je ulozeny typ zpravy a delka payloadu v bytech.
- Payload - v payloadu jsou ulozena samotna data
- Program tak precte hlavicku, z ktere zjisti typ zpravy a delku payloadu na zaklade ktere pak precte samotny payload.
- V dalsim kroku pak program preda typ zpravy a payload prislusnemu handleru, ktery na zpravu adekvatne zareaguje.
V nasledujici sekci popisu jednotlive zpravy
Message type | Payload | Server Response | verbose |
---|---|---|---|
LOGIN | string : username |
bool : 0(ok) / 1(error) |
prihlasovaci zprava |
CREATE_LOBBY | none | string : game id |
vytvoreni lobby. uzivatel, ktery lobby vytvoril, se stava jeho vlastnikem a je jediny, kdo muze hru zapnout |
LOBBIES | none | string[] : games in lobby |
pokud uzivatel nechce vytvaret vlastni lobby, muze se pripojit do jiz existujiciho lobby |
JOIN_LOBBY | string : game id |
none | lobby, do ktere se chce uzivatel pripojit |
START_GAME | none | bool : 0(ok) / 1(error) |
zacne hru, hru muze zahajit pouze majitel hry (lobby, mistnosti) |
DIRECTION | int : direction, int : x, int : y |
ack | zmena smeru hada, na server se posle smer (UP, DOWN...) a souradnice {x,y}, kde ke zmene doslo |
FRUIT ATE | none | bool : 0(ok) / 1(error) |
zprava, kterou posle hrac potom, co snedl jablko (validace probehne na serveru) |
COLLISION | none | bool : 0(ok) / 1(error) |
kolizni zprava, do budoucna bych chtel kolize resit ciste na serveru na zaklade DIRECTION |
slozka 04