Właśnie wszedłem do świata rozwoju sieci Web i opracowuję małą grę przeglądarki, która po prostu umożliwia podłączonych użytkowników, aby przejąć kontrolę nad obiektem (obecnie trójkąt!), I po prostu poruszają się po okolicy ekranu.

Obecnie przechowuję klientów koordynują pozycję w bazie danych MySQL i zaktualizuj tę pozycję za pomocą AJAX, około 30 razy na sekundę.

Inne pozycje Klientów są również ankietowane około 30 razy na sekundę.

Moim problemem jest jednak, że wydaje się, że to wywołuje godzinową blokadę IP dla klienta, które zakładam, że zakładam automatycznie na końcu mojego gospodarza. Czy byłoby to normalne domyślne działania ostrożnościowe? Byłem pod wrażeniem, że 30 ankiet ajax w sekundę nie był szczególnie stresującą kwotą, jednak tak jak wspomniałem, to dla mnie nowe pole. Bardzo się boję, że stworzyłem jakiś miniscyk ataku DOS!

Jeśli tak, byłbym wdzięczny, jeśli ktoś z doświadczeniem w tej sprawie może wskazywać na bardziej wydajną metodę obsługi rodzaju interaktywności, którą opisałem. To wszystko prowadzące do sześciomiesięcznego projektu będę pracował sam dla mojego ostatniego projektu University, więc jestem bardziej niż szczęśliwy, że mogę umieścić dodatkowe godziny, aby nauczyć się lepszego rozwiązania.

1
LBHoward 22 wrzesień 2012, 03:05

2 odpowiedzi

Najlepsza odpowiedź

Co powinieneś zrobić, jest znany jako "głosowanie hybrydowe". Zasadniczo masz długą stronę serwera metody, która prowadzi "nieskończenie" pętli, która biegnie raz na 33mm (30 razy na sekundę). Ta pętla będzie strzelać do części przedniejszego końca, jeśli dane się zmieniły. Gdy dane stają się zbyt duże w buforze, aby uzyskać metodę, wyjścia metody. Cały czas, który twój klient jest odpytywający, aby sprawdzić, czy napisano nowe dane. Jeśli wyjście metody, klient musi ponownie uruchomić metodę. Jest to podejście hybrydowe, w którym odpyling klienta sprawdza tylko dane po stronie klienta, z wyjątkiem sytuacji, gdy metoda wychodzi, w którym to przypadku klient musi ponownie odpomnieć, aby ponownie uruchomić metodę serwera, która następnie przebiega raz na 33ms i popycha dane do klienta .

1
Travis J 21 wrzesień 2012, 23:29

Wyszukaj kometę (kompatybilną ze starszymi przeglądarkami, ale nie tak wydajne jak to możliwe), boskie lub gniazda internetowe (idealne, ale nie kompatybilne ze starszymi przeglądarem) dla innych podejść.

0
Brett Zamir 21 wrzesień 2012, 23:10