Gra Android online, jak komunikować się ze zdalną bazą danych

Gra Android online, jak komunikować się ze zdalną bazą danych
KU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 164
0

Jak to w grach online bywa dane powinny być na bieżąco aktualizowane. Obecnie realizuję to za pomocą retrofita, który wysyła żądania i metody handler.postDelayed() co sekundę lub pół. Jednak nie jest to chyba zbyt efektywny sposób bo to chyba przez to po paru sekundach aż dławi się mój internet xd i zaczyna lagować.

Pytanie więc jak można się wysyłać z Android zapytania do bazy danych tak, żeby nie obciążać tak internetu.

Michał Sikora
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 834
0

Problem jest gdzieś indziej. Aplikacja czy internet nie zwalniałyby, przez wysyłanie zapytania co pół sekundy, jeśli jest to robione poprawnie.

DC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 418
0

Nie wiem co i jak właściwie wysylasz :) Na początku skoro używasz Retrofita zapnij sobie:
https://github.com/square/okhttp/tree/master/okhttp-logging-interceptor

Dzięki temu będziesz widział w konsoli cały ruch/odpowiedzi itp. który przechodzi przez OkHttp (Retrofita)

MD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 25
0

Jeśli chcesz komunikować się na bieżąco z serwerem to pewnie lepszym rozwiązaniem będą sockety.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
0
  1. Jakiego typu jest to gra? Jak bardzo jest dynamiczna? Jeśli jest to coś "real time" to użycie Retrofit (protokołu http) wydaje mi się złym wyborem.
  2. Ilu jest graczy w interakcji?
  3. Czy masz kontrolę nad serwerem, szczególnie nad jego API?
  4. Napisałeś, że odpytujesz serwer co sekundę, a poczekałeś najpierw na odpowiedź poprzedniego request-a? Jeśli nie to w przypadku ciężkich danych możesz zapchać łącze.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.