Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][PHP][MySQL] Czat obrazkowy, optymalizacja ilości wysyłanych danych
Popek231
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 30.03.2012
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Hejka,
tworzę grę online - czat obrazkowy.
Takie coś: sterowanie postaciami, pisanie na czacie na żywo, wiadomości nad głową.

I mam pytanie, bo to jest oparte o bazę danych MySQL(i) i zastanawia mnie kwestia optymalizacji...

1)
Wysyłanie informacji o statusie online w AJAX co 1 sekundę zapisywane do db,
potem sprawdzanie kto jest online przez coś w stylu SELECT ... WHERE ostatniczas < 3 SEKUND
(ten czas to od 1970 roku w ms, wiec będzie dało się sprawdzić)
tylko czy to jest ok rozwiązanie?

2)
Podczas gry, myślę (tak optymistycznie), że MAX będzie 150 osób.
Więc może stworzyć 2 tabele, jedna z osobami OFFLINE, a druga z ONLINE
i kto będzie miał czas ostatniego zameldowania z tabeli ONLINE wiekszy niż 3 sekundy, to przenieść do OFFLINE, potem przenieść do ONLINE..
bo przeglądanie tabeli np. 1500 rekordowej, będzie dużo czasu zajmowało...

3)
Żeby zapobiec multi-logowaniu (multi-oknom), jeśli ostatni czas meldowania będzie mniejszy niż 1sekunda, no to wywali to okno z gry - dobry pomysł?

4)
wyświetlanie w canvas (całkiem przyjemne) i obsługa tego w js (bo jakby inaczej) (IMG:style_emoticons/default/smile.gif)

5)
Ostatnio przygotowałem system wiadomości, też w ajax
i dodając to do gry, taki dodatek: co 30 sekund sprawdza w bazie, czy są nowe wiadomości przez przeczytana=0 i wyświetla info (nie ma nowych, są nowe) - więc co 30 sekund zapytanie jest wykonywane

Czy to jest dobre 'myślenie' jak na projektowanie gry online?
(innych kwestii jeszcze nie przemyślałem)

@ref
Naprawdę? nikt nie umie udzielić odpowiedzi na te łatwe pytania?
nie ma dużo czytania, tylko są porobione nowe linie, przez co wygląda, że dużo, tyle - nie wymagam wielkiej odpowiedzi, chcę tylko prostą odpowiedź kogoś, kto się zna..
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 13:06