Ребят, нужна помощь!
Нужно сделать лимит на открытия определенного ip-адреса через функцию fsockopen().
Как то можно сделать?)
вот кусочек кода:
if (!isset($ip)) {$ip = '123.123.123.123';}
if (!isset($port)) {$port = '0000';}
$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr);
if (!$fp) {
echo "Offline";
}
else {
$packet = 'SAMP';
$packet .= chr(strtok($ip, '.'));
$packet .= chr(strtok('.'));
$packet .= chr(strtok('.'));
$packet .= chr(strtok('.'));
$packet .= chr($port & 0xFF);
$packet .= chr($port >> 8 & 0xFF);
fwrite($fp, $packet.'i');
fread($fp, 11);
}
Спустя 54 минуты, 35 секунд (27.07.2012 - 20:40) killer8080 написал(а):
Rio-Dezz
5-й аргумент fsockopen - таймаут.
5-й аргумент fsockopen - таймаут.
Спустя 26 минут, 2 секунды (27.07.2012 - 21:06) Rio-Dezz написал(а):
killer8080
не работает(
не работает(
Спустя 22 часа, 29 минут, 34 секунды (28.07.2012 - 19:36) I++ написал(а):
<?php
function ping_cs_server($server_ip, $server_port = 27015)
{
$res = fsockopen('udp://'.$server_ip, $server_port);
stream_set_timeout($res, 0, 30000); # max 30 ms
fwrite($res, "\xFF\xFF\xFF\xFFTSource Engine Query\0");
$raw = fread($res, 5);
if(ord($raw[4]) == 0x6d)
return true;
return false;
}
?>
У меня вот так работает :)
_____________
ruseller0@yandex.ru