Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie ilości użytkowników.
Forum PHP.pl > Forum > PHP
patryk20120
Witajcie,
czy można za pomocą PHP sprawdzić ilość użytkowników podłączonych do danego serwera?
Szymciosek
Tak, musiałbyś mieć np w bazie użytkowników wpis Active, oraz zmieniać wartość po wejściu użytkownika na stronę np.

Zarejestrowany jest użytkownik XXX
więc tabela może wyglądać tak: ID, User, Active (boolean)

Po wejściu i zalogowaniu (tutaj sesje/cookies) zmieniasz wartość w bazie z false na true
W liczniku, który chcesz mieć sprawdzasz ile użytkowników jest Active i na tej podstawie masz wynik ile użytkowników jest podłączonych.

Chyba, że coś innego masz na myśli, ale nie ustaliłeś tego
patryk20120
Nie chodzi mi o server lokalny(stronę). Chodzi o to, że mam np. port i IP servera i chciałbym wyświetlić liczbę podłączonych użytkowników.
abort
netstat z linii komend może pokazać to, co chcesz, a system() może to uruchomić.
Zastrzeżenia:
- wczytywanie stron, w szczególności statycznych - to conajwyżej sekundy.
- jedna przegladarka może wysłać KILKA requestów w bardzo krótkim czasie i relatywnie szybko je zamknąć
- można odwoływać się via proxy (różne)

Napisz może, co chcesz osiągnąć, bo może jest inny i lepszy sposób? Np. periodyczne (z crona) przetwarzanie logów serwera?

patryk20120
Ogólnie chcę zrobić listę serwerów. Użytkownik dodaje serwer do listy, admin akceptuje i dodaje do głównej listy. Główna lista to np. 10 serwerów na stronę, gdzie przy każdym jest napisane czy serwer jest online i ilu użytkowników jest na nim.

Może jest jakieś inne wyjście?
wujek2009
Nie wiem o jakim serwerze gry mówimy, ale spójrz na ten skrypt - http://www.greycube.com/site/download.php?list.10 (Live Game Server List); obsługuje wiele gier i tutaj otrzymujesz pełny status. Jeśli chodzi o zliczanie wszystkich graczy online na tych 10 serwerach to robisz mniej więcej taki zapis:

  1. // wczytujesz bibliotekę LGSL
  2.  
  3. $liczba_graczy = 0;
  4.  
  5. // pobierasz te 10 serwerów i przetwarzasz je w pętli np.
  6. $pobierzSerwery = pobierz();
  7.  
  8. foreach ( $pobierzSerwery as $k => $v )
  9. $liczba_graczy += $v['s']['players'];
patryk20120
Dzięki serdeczne, to rozwiązuje wszystko co chciałem. Jeszcze raz dziękuję serdecznie.

PS. Nieźle rozbudowany jest ten "skrypt", można się tym pobawić.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.