Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Czas budowy
michal041202
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 27.12.2013

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


Witam wszystkich!
Potrzebuję pomocy, ponieważ mam mały (tzn. duży) (IMG:style_emoticons/default/biggrin.gif) problem. Otóż chcę zrobic coś takiego, że w bazie danych (MySQL) jest zapisany pewna liczba i po kliknięciu na przycisk ma rozpocząc się odliczanie i po skończeniu się zadanego czasu aby ta liczba zwiększyła się o jeden. Chciałbym także, aby w tym czasie przeglądarka nie musiała byc włączona i to odliczanie odbywało się jakby po stronie serwera. Proszę o szybką pomoc.

--
Pozdrawiam
michal041202
Go to the top of the page
+Quote Post
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Wysyłasz dane przez formularz do bazy/pliku, ustawiasz cron na serwerze aby sprawdzał czy rekord/wartość pliku istnieje np. co kilka minut, jeśli istnieje pobierasz czas rozpoczęcia i na jego podstawie przez cron sprawdzasz czy od tego momentu upłynęło tyle ile potrzebujesz, jak tak robisz update.
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #3





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Codziennie zakładasz wątek. Nie umiesz nic, zacznij od kursy PHP/MySQL. Użyj Google do znalezienia tematu a PROBLEMAMI z KODEM wracaj na Forum.
gra+via+budowanie
Go to the top of the page
+Quote Post
Damonsson
post
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Niepotrzebny Ci żaden Cron.

Źródło: Otwarcie podstrony na której, można zobaczyć poziom.
Akcja:
- Pobranie z MySQL czasu do końca budowy
- Zasymulowanie i wyświetlenie w JavaScript odliczania czasu do końca budowy
- Po dojściu licznika czasu w JS do 0, odpytanie bazy danych, czy rzeczywiście czas dobiegł końca (nigdy nie ufaj danym od użytkownika tj. JavaScript).
- Jeśli czas dobiegł końca, update kolumny w MySQL

Źródło: Kliknięcie budowy nowego poziomu
Akcja:
- Dodanie czasu zakończenia budowy do MySQL
Go to the top of the page
+Quote Post
!*!
post
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


@Damonsson - zamykam przeglądarkę i Twój sposób się zawalił ;)
Go to the top of the page
+Quote Post
Damonsson
post
Post #6





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Otwieram przeglądarkę i mój sposób nadal żyje.

Po co słoniowi w afryce wiedzieć, czy na mazurach jest woda w jeziorze? Jak przybiegnie do Polski to refresh horyzontu przed jego pokazaniem, pokaże mu czy jest to jezioro czy go nie ma (IMG:style_emoticons/default/wink.gif)


Ale dobrze, że to napisałeś, bo prawda, zapomniałem dodać czegoś ważnego:

Nie: Otwarcie podstrony na której, można zobaczyć poziom. A: Jakakolwiek akcja, na którą ma wpływ poziom budynku.

Ten post edytował Damonsson 28.12.2013, 14:11:50
Go to the top of the page
+Quote Post
!*!
post
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Właśnie, musisz otworzyć przeglądarkę ponownie, aby to sprawdzić, czyli jeszcze raz odpytujesz bazę. Przy grach się to nie sprawdza, ponieważ warto wykonywać zadania wtedy kiedy są potrzebne, a nie masowo sprawdzać wszytko przy logowaniu. Dodatkowo wyłączę JS i pomysł leży, zbuduję pomiędzy logowaniem a odpytaniem serwera 1k budynków i pomysł leży.
Go to the top of the page
+Quote Post
Damonsson
post
Post #8





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Żeby zrobić to realnie, CRON musiałby działać co 1 sekundę. Wyobrażasz sobie to przy 100.000 użytkowników? OGAME, działa wg mojej wersji, nie znam większej gry tego typu.

CRON w grach sprawdza się gdy, trzeba wykonać bardzo zasobożerne operacje. Np liczenie punktów, miliony operacji arytmetycznych dla wszystkich użytkowników. Wtedy odpala się CRONa np. o 4 w nocy jak wszyscy śpią i mieli się bazę danych.

Ten post edytował Damonsson 28.12.2013, 14:20:41
Go to the top of the page
+Quote Post
!*!
post
Post #9





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


To już jest inna historia. Cron odpalany co 1s przy 100k? To jeszcze nie jest tak źle. Dziś i tak robi się tego typu rzeczy przez sockety, co też jest wyjściem.
Go to the top of the page
+Quote Post
Damonsson
post
Post #10





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


CRON ze sprawdzaniem praktycznie wszystkie co możliwe, dziesiątki operacji dla jednego gracze: ataki/budynki/surowce. To jest zabójstwo. Po za tym zawsze jest ryzyko, niewykonania się CRONa. Nie ma najmniejszej możliwości stosowania CRONa do takich zadań. Dla zabawy dla 1000 graczy to jeszcze może jakoś przejdzie. Albo jak punkty się nie policzą, to ktoś odpali CRONa jeszcze raz i będzie później aktualizacja tylko, nic wielkiego się nie stanie. A niech CRON dla tych ważnych operacji zawiesi się na 3 sekundy w ciągu 24h, gdzie jakieś ataki są wyliczane co do 1 sekundy, to co? Backup?

Tak samo było z tymi aukcjami za10groszy.pl itp.

No tak Sockety, albo obsługa zdarzeń w innym języku. Ale to już chyba nie na możliwości autora.
Go to the top of the page
+Quote Post
com
post
Post #11





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Sockety w php też masz, a Ogame to trochę już historia, wiec nie bazowałbym na tym bo wtedy nie mieli zbyt dużego pola do popisu, a oba sposoby tzn cron i js nie są tu idealne ...

Ten post edytował com 28.12.2013, 15:18:02
Go to the top of the page
+Quote Post
Damonsson
post
Post #12





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


albo - takie magiczne słówko (IMG:style_emoticons/default/wink.gif)

Zgodzę się, nie jest idealne, ani to, ani to. Czy są takie, Sockety? Chętnie się dowiem, sam nie wiem.

Ten post edytował Damonsson 28.12.2013, 15:22:45
Go to the top of the page
+Quote Post
com
post
Post #13





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


ok masz rację źle to przeczytałem (IMG:style_emoticons/default/wink.gif)
Cytat
Czy są takie, Sockety? Chętnie się dowiem, sam nie wiem.


hmm?
Go to the top of the page
+Quote Post

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: 3.10.2025 - 01:27