Здравствуйте, имеется данный код php:
function getSourceServerInfo(string $ip, string $port): array
{
$info = [
'status' => 0,
'ip' => $ip,
'port' => $port,
'players' => "?",
'playersmax' => "?",
'map' => "?"
];
$socket = @fsockopen("udp://{$ip}", $port, $errno, $errstr, 1);
if (!$socket) {
return $info;
}
stream_set_timeout($socket, 1);
stream_set_blocking($socket, true);
fwrite($socket, "\xFF\xFF\xFF\xFF\x54Source Engine Query\x00");
$packet = fread($socket, 4096);
@fclose($socket);
if (!$packet) {
return $info;
}
if (substr($packet, 4, 1) != "I") {
exit("NOT A SOURCE SERVER");
}
$packet_array = explode("\x00", substr($packet, 6), 5);
$info['name'] = $packet_array[0];
$info['map'] = $packet_array[1];
$info['game'] = $packet_array[2];
$info['description'] = $packet_array[3];
$packet = $packet_array[4];
$info['players'] = ord(substr($packet, 2, 1));
$info['playersmax'] = ord(substr($packet, 3, 1));
$info['bots'] = ord(substr($packet, 4, 1));
$info['status'] = 1;
$info['vac'] = ord(substr($packet, 8, 1));
return $info;
}
$query = getSourceServerInfo("188.242.71.220", '27015');
И вот такой html
<center><p">Сервер:<b> Metrostroi Millennium Server</b><br>Статус сервера:<b> <?= $query['status'] ?></b><br>Кол-во игроков: <b><?= $query['players'] ?> / <?= $query['playersmax'] ?></b><br>
<?php if($query['players'] !== "?") : ?>
<progress value="<?= $query['players'] ?>" max="10">Текущее кол-во игроков на сервере <?= $query['players'] ?></progress><br>
<?php endif; ?>
<i class="fa fa-map" aria-hidden="true"></i> Текущая карта: <b><?= $query['map'] ?></b></p></center>
Как можно с помощью js сделать так чтобы можно было не перезагружать страницу для того чтобы появились новые данные?