Projekt numer 9: HTTP logger
Załóżmy, że po planszy o wymiarach 200 x 200 porusza się losowo pewna postać. Przyjmujemy następujące prawdopodobieństwa wykonania następnego ruchu: do przodu 50%, skręt w lewp/prawo 20%, do tyłu 10%. Postać zmienia swoje położenie co 1 sekundę. Napisać aplikację wysyłającą do serwera dane używając adresu URL postaci
http://fulmanski.pl/zajecia/mobile_os/zajecia/http?login=LOGIN&time=TIME&positionX=X&positionY=Y&ack=ACK
gdzie
LOGIN to pierwsze 6 liter nazwiska + 1 litera imienia (pisane małymi literami, bez polskich znaków) autora aplikacji
TIME to data i godzina w formacie: yyyy-mm-dd HH:MM:SS, w przypadku gdy jakaś wartości jest mniejsza niż 10,
należy ją poprzedzić '0' tak aby zajmowała zawsze dwa znaki: zamiast np. 2015-05-06 (6 maja 2015) powinno być: 2015-05-06.
X współrzędna x postaci
Y współrzędna y postaci
ACK przyjmuje wartość 'true' gdy chcemy otrzymać od serwera potwierdzenie lub 'false' w przeciwnym razie
(zamiast ack=false można także zwyczajnie ten parametr pominąć).
Co 30 sekund należy wysłać do serwera dane z prośbą o potwierdzenie (parametr ack=true) i wyświetlić otrzymaną wartość potwierdzenia.
Wykorzystanie adresu URL postaci
http://fulmanski.pl/zajecia/mobile_os/zajecia/http?login=LOGIN
pozwala na pobranie wszystkich zalogowanych przez użytkownika danych.
Serwer odpowiada na kierowane do niego zapytania w następujący sposób
error_no_space - gdy osiągnięto limit zalogowanych danych (trzeba wówczas napisać do mnie i wyczyszczę bazę)
error_check_space, error_insert, error_select - gdy wystąpią roblemy z działaniem skryptu (proszę wówczas o wiadomość)
error_missing_some_data - gdy pominięto jedną z danych: login, time, positionX, positiony
ok - gdy udała się operacja dodania informacji
odsyła przesłane dane, gdy parametr ack=true