Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Определение статуса сервера. Нужен JS-аналог скрипта на PHP (https://javascript.ru/forum/misc/11346-opredelenie-statusa-servera-nuzhen-js-analog-skripta-na-php.html)

akukinakis 19.08.2010 10:42

Определение статуса сервера. Нужен JS-аналог скрипта на PHP
 
Пишу свой первый сайт на ASP.net. Хочу добавить отображение статуса игрового сервера (см. пример)
Все мои поиски натыкаются на этот PHP-скрипт:
<?php
function GetEvePlayers()
{
// IP of gameserver (Tranquility)
$strEVEServer = '87.237.38.200';
// Serverport
$intPortNumber = 26000;
// Timeout
$strTimeOut = 8;

function string2hex($String)
{
if (trim($String) != '')
{
$strHex = '';
$intLength = strlen($String);
for ($intCounter = 0; $intCounter < $intLength; $intCounter++)
{
if ($intCounter > 0) $strBound="-"; else $strBound="";
$strHex.=$strBound.str_pad(dechex(ord($String[$intCounter])), 2, 0, STR_PAD_LEFT);
}
return $strHex;
}
}

$objFP = @fsockopen($strEVEServer, $intPortNumber, &$strErrumber, &$strErrString, $strTimeOut);
if (!$objFP)
{
$strResult = 'Server down';
}
else
{
$arrBuffer = fgets($objFP,41);
fclose($objFP);

$strResult = $arrBuffer[21].$arrBuffer[20];
$strResult = string2hex($strResult);
$strResult = hexdec($strResult);
}
return $strResult;
}

echo 'Players online: '.GetEvePlayers();
?>


Все волшебство происходит вызовом метода @fsockopen которому я не могу найти аналога на JS.

Помогите либо переписать скрипт, либо каким-либо образом вызвать .GetEvePlayers()

Gvozd 19.08.2010 11:20

Цитата:

Сообщение от akukinakis
Нужен JS-аналог скрипта на PHP
Пишу свой первый сайт на ASP.net.

где логика?
гораздо логичнее было бы переписать код с серверного PHP На серверный же ASP.NET, а не на клиентский JS
Цитата:

Сообщение от akukinakis
Все волшебство происходит вызовом метода @fsockopen которому я не могу найти аналога на JS.

потому что нету аналога

Цитата:

Сообщение от akukinakis
Помогите либо переписать скрипт, либо каким-либо образом вызвать .GetEvePlayers()

используйте AJAX


Часовой пояс GMT +3, время: 22:56.