![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 31.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam was serdecznie, nawet nie wiem jak ten temat napisać po polsku... Noszę się wreszcie z zamiarem napisania gry www, która od dawna mi już chodzi po głowie, problemem którego nadal nie wiem jak rozwiązać jest uruchamianie operacji na bazach danych (po uprzednim dokonaniu obliczeń) po stronie serwera, bez konieczności inicjacji zadania przez użytkownika. CRON odpada, bo za wolny i zdaje się nie tak dokładny, operacje muszą się odbywać co do sekundy i być bardzo szybkie, zakładając iż będzie tego po kilkaset w ciągu sekundy... Stąd też, nawet nie wiem czy jestem wstanie coś takiego w PHP napisać, czy też muszę wrócić do programowania w C++... Ale przecież to użytkownicy będą inicjować te operacje, po prostu obawiam się że DATE + czas będzie za wolny... Zakładając że będzie dużo użytkowników (IMG:style_emoticons/default/smile.gif) Zna ktoś może jakieś lepsze rozwiązanie?
Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 15 Dołączył: 2.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli myślisz, że takie gry jak ogame są oparte o odświeżanie w każdej sekundzie danych kilkunasty tysięcy użytkowników to IMHO się mylisz (IMG:style_emoticons/default/smile.gif) Jeżeli, tak jak piszesz, użytkownik np. o 15:00 zaczyna wykonywać jakąś misję, która trwa np. godzinę, to nie ma sensu przez całą godzinę lecieć po sekundzie i sprawdzać czy może akurat teraz nie powinna zakończyć się ta misja. Po prostu, gdy użytkownik odświeży stronę (lub zaloguje się ponownie, bo godziny może nie wytrzymać przy grze przeglądarkowej (IMG:style_emoticons/default/smile.gif) ), może to być np. o 16:15 to sprawdzana jest kolejka czynności, które zostały zapisane do wykonania o określonej godzinie a czas ich zakończenia porównywany jest z czasem aktualnym i wywoływane są te akcje, które powinny być już zakończone w przeszłości. Wtedy np. po zalogowaniu może zostać wykonanych kilkanaście zaległych akcji i nie ma problemu, bo wysyłając jakiekolwiek komunikaty do użytkownika podaje się "zaplanowany" czas wykonania danej akcji a nie rzeczywisty (czyli czas zalogowania) co daje wrażenie ciągłego działania konta w grze, nawet gdy jesteśmy nieaktywni.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 17:38 |