Zapis i odczyt danych z serwera

0

Witam wszystkich

Mam bardzo ogólne pytanko dotyczące zapisu i odczytu danych z serwera. Otóż napisałem małą gierkę w której celem jest uzyskanie jak najlepszego czasu wykonywania pewnej czynności. Opracowałem już sposób zapisu najlepszych wyników do pliku txt. Ale chciałbym pójść krok dalej i zapisać dane na serwerze tak aby można było odczytywać i zapisywać dane bezpośrednio na serwerze. I tu pytanko do forumowiczów aby mnie nakierowali, w którą stronę pójść aby uzyskać dobre rozwiązanie, jakaś baza danych np. mysql czy zapis i odczyt pliku na serwerze ftp ? (ale to chyba złe rozwiązanie). Proszę o generalna poradę w którą stronę pójść. Pozdrawiam

1

Cześć,

W sumie całą masę różnych podejść możesz zastosować. Kilka propozycji:

  1. Drobna aplikacja http://stackoverflow.com/questions/301991/what-s-the-simplest-way-to-call-http-post-url-using-delphisię, że piszesz w Delphi; coś tam na SO o tym jak wysyłać POST requesty jest - http://stackoverflow.com/questions/301991/what-s-the-simplest-way-to-call-http-post-url-using-delphi).
    To jest chyba najprostsza wersja i osobiście ją polecam (tylko rzuć okiem co to jest Prepared Statements przy obsłudze sql i tego użyj plz plz plz; rzut okiem co to jest XSS też nie zaszkodzi, jeśli planujesz wyniki wyświetlać).

  2. Napisanie drobnej aplikacji, która działa na "gołych socketach", tzn. odbiera dane po TCP od aplikacji. Taką aplikację mógłbyś napisać w czymkolwiek, i stała by sobie na serwerze, odbierała dane i zapisywała do bazy.
    Szczerze, to to podejście nie daje za dużo korzyści, a sockety lubią mieć swoje problemy

  3. Udostępnienie na zewnątrz bazy mysql z użytkownikiem, który ma jedynie prawa INSERT na tabeli z wynikami (i zero dostępu do innych tabel). Natomiast przyznaję, że nie mam zielonego pojęcia czy Delphi ma dobre bindingi/liby do obsługi protokołu mysql.

Jeśli chodzi o FTP, to musiałbyś zadbać, że użytkownik z którego hasłem/etc się logujesz ma uprawnienia jedynie do dodawania plików w jednym katalogu (bez listowania, modyfikacji, usuwania, etc). Natomiast szczerze, to raczej bym nie polecał tego podejścia.

Ah, i pamiętaj o tym, że użytkownik może sobie spreparować takie zapytanie i wysłać najlepszy wynik na serwer bez w ogóle odpalania gry (ofc to wymaga niewielkiej wiedzy technicznej, ale to nie jest problem dla ludzi, co było wielokrotnie udowodnione ;>).

Cheers & Good Luck!

0

Dzięki za przegląd sytuacji. Chyba skorzystam z opcji 3 i pobawię się z bazą mysql, jest dużo materiałów pomocniczych na ten temat w necie. Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1