[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Время открытия ip по протоколу udp
Rio-Dezz
Всем привет!

Ребят, нужна помощь!
Нужно сделать лимит на открытия определенного 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 - таймаут.

Спустя 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
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.