Autor | Zpráva | ||
---|---|---|---|
Jakubnovak Profil * |
#1 · Zasláno: 3. 10. 2011, 20:00:11
Zdravím,
mám PHP funkce na status serveru a potřebuji, aby se každou vteřinu aktualizovali, je to možné? Zde jsou: function server_odezva($address, $port = 25566, $timeout = 30){ $beginning_time = microtime(true); $socket = @fsockopen($address, $port, $errno, $errstr, $timeout); if (!$socket) { // Could not establish a connection to the server. return false; } $end_time = microtime(true); fwrite($socket, "QUERY_JSON\n"); $response = ""; while(!feof($socket)) { $response .= fgets($socket, 1024); } $query = ($end_time - $beginning_time) * 1000; return round($query, 2); } function server_hracu($address, $port = 25566, $timeout = 30){ $query = array(); $beginning_time = microtime(true); $socket = @fsockopen($address, $port, $errno, $errstr, $timeout); if (!$socket) { // Could not establish a connection to the server. return false; } $end_time = microtime(true); fwrite($socket, "QUERY\n"); $response = ""; while(!feof($socket)) { $response .= fgets($socket, 1024); } $response = explode("\n", $response); // Player count $query['playerCount'] = explode(" ", $response[1], 2); $hracu = $query['playerCount'][1]; // Max players $query['maxPlayers'] = explode(" ", $response[2], 2); $maxhracu = $query['maxPlayers'][1]; return $hracu."/".$maxhracu; } function server_seznamhracu($address, $port = 25566, $timeout = 30){ $query = array(); $beginning_time = microtime(true); $socket = @fsockopen($address, $port, $errno, $errstr, $timeout); if (!$socket) { // Could not establish a connection to the server. return false; } $end_time = microtime(true); fwrite($socket, "QUERY\n"); $response = ""; while(!feof($socket)) { $response .= fgets($socket, 1024); } $response = explode("\n", $response); $query['playerList'] = explode(" ", $response[3], 2); $seznamhracu = explode(", ", trim($query['playerList'][1], "[]")); return $seznamhracu; } |
||
Chamurappi Profil |
#2 · Zasláno: 3. 10. 2011, 20:05:07
Reaguji na Jakubnovaka:
„je to možné?“ Ano, to je možné. Bude se ti hodit setInterval a buď můžeš jednoduše měnit src obrázku (pokud by tvůj skript vracel obrázek), nebo složitěji stahovat AJAXem kus HTML kódu a ten do něčeho vepisovat. Nebo můžeš použít <iframe> a ten pravidelně aktualizovat, pokud má ten kus HTML pevné rozměry.
|
||
Jakubnovak Profil * |
#3 · Zasláno: 3. 10. 2011, 20:08:10
Bohužel to budu muset dělat pomocí toho ajaxu, poradili byste prosím někdo nějaké funkce?
|
||
Chamurappi Profil |
#4 · Zasláno: 3. 10. 2011, 20:33:41
Reaguji na Jakubnovaka:
Na AJAX stačí poměrně krátká universální funkce: function nacti(url, callback) { var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); xhr.open("GET", url, true); xhr.onreadystatechange = function() { if(xhr.readyState == 4) callback(xhr.responseText); }; xhr.send(""); } nacti("adresa.php", function(vystup) { document.getElementById("ídéčko").innerHTML = vystup; }); |
||
Jakubnovak Profil * |
#5 · Zasláno: 3. 10. 2011, 20:44:15
Díky, už to mám :)
|
||
Časová prodleva: 12 let
|
0