Hallo,
ich bins mal wieder Ich habe da ein kleines Problem und kann mir selbst nicht erklären warum. Und zwar versuche ich via php den Online Status eines Gameservers ab zu fragen. Soweit klappt das auch ganz gut. Nur leider muss er nicht nur einen Server abfragen sondern alle die die in der Datenbank sind.
Dies klappt auch soweit nur leider sind die Ladezeiten recht lange. bei 12 Servern in der Datenbank braucht er alleine 5-10 Sekunden bis er die Seite geladen hat. kommentiere ich die Funktion aus lädt die Seite wieder so wie sie soll.
Hier mal mein Code
Alles anzeigen
ich bins mal wieder Ich habe da ein kleines Problem und kann mir selbst nicht erklären warum. Und zwar versuche ich via php den Online Status eines Gameservers ab zu fragen. Soweit klappt das auch ganz gut. Nur leider muss er nicht nur einen Server abfragen sondern alle die die in der Datenbank sind.
Dies klappt auch soweit nur leider sind die Ladezeiten recht lange. bei 12 Servern in der Datenbank braucht er alleine 5-10 Sekunden bis er die Seite geladen hat. kommentiere ich die Funktion aus lädt die Seite wieder so wie sie soll.
Hier mal mein Code
Quellcode
- $x = 0; while ($row=$db->fetch_array($result)) {
- $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
- socket_connect($socket, $row["gameserver_ip"], $row["gameserver_port"]);
- // http://developer.valvesoftware.com/wiki/Server_queries#A2A_PING
- socket_write($socket, "\xFF\xFF\xFF\xFF\x69");
- sleep(1); // verbesserungswürdig ;)
- if (@socket_read($socket, 5) == "\xFF\xFF\xFF\xFF\x6A") {
- $gameserverliste[$x]['game_statu'] = '<img src="resurces/_icons/teamspeak/online.png" /> <span style="font-size:9px; color:green;">(Online)</span>';
- }else{
- $gameserverliste[$x]['game_statu'] = '<img src="resurces/_icons/teamspeak/offline.png" /> <span style="font-size:9px; color:red;">(Offline)</span>';
- }
- socket_close($socket);
- $x ++;
- }