| 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: 15 let
|
|||
0