Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проверка состояния IP
Форумы портала PHP.SU » » Вопросы новичков » Проверка состояния IP

Страниц (1): [1]
 

1. afuno - 02 Июля, 2014 - 03:37:55 - перейти к сообщению
Здравствуйте!

Имеется IP с портом вида (пример): 132.465.798.105:27036

Мне нужно как-то проверить этот IP на доступность. Пробовал получать заголовки при помощи get_headers - ничего не выдает.

Помогите, пожалуйста.
3. Мелкий - 02 Июля, 2014 - 09:34:29 - перейти к сообщению
Знать IP и порт мало. Надо ещё знать протокол, хотя бы L3.
Если TCP - fsockopen, если получилось открыть сокет - демон на том хосте слушает.
UDP в общем случае определить невозможно. Требуется, чтобы демон хоть что-то ответил. Но и то, udp на то и udp, что пакеты может терять.
4. esterio - 02 Июля, 2014 - 10:47:11 - перейти к сообщению
Скорее всего сервер Counter-strike. А там TCP. Поетому как сказал Мелкий fsockopen подхдит
5. afuno - 02 Июля, 2014 - 13:36:48 - перейти к сообщению
Я попробовал с помощью fsockopen. Но что-то не выходит. Использую такой код:
PHP:
скопировать код в буфер обмена
  1. $fp = fsockopen ( "tls://" . $server_ip, $server_port, $errno, $errstr, 30);
  2. if (!$fp) {
  3.         echo "Нет соединения с сервером!<br>\n";
  4. } else {
  5.         echo "Есть соединение с сервером!<br>\n";
  6.         fputs ($fp, "GET / HTTP/1.0\r\nHost: {$server_ip}:{$server_port}\r\n\r\n");
  7.         while (!feof($fp)) {
  8.                 echo fgets ($fp,128);
  9.         }
  10.         fclose ($fp);
  11. }


Если сервер выключен, то выводит "Нет соединения с сервером!".
Если сервер ключен, то выводит "Нет соединения с сервером!"
6. esterio - 02 Июля, 2014 - 14:09:34 - перейти к сообщению
так это http сервер
afuno пишет:
fputs ($fp, "GET / HTTP/1.0\r\nHost: {$server_ip}:{$server_port}\r

здесь уже не надо указивать host. Почитайте про формат или воспользуйтесь cURL-ом
7. Мелкий - 02 Июля, 2014 - 14:30:31 - перейти к сообщению
Начать стоит с того, знаете ли вы, что такое tls.
Если на той стороне демон TLS не умеет, то и будь демон рабочий, коннекта не будет.
8. afuno - 02 Июля, 2014 - 15:12:42 - перейти к сообщению
С этим разобрался! Спасибо большое всем, кто оперативно отреагировал Улыбка

 

Powered by ExBB FM 1.0 RC1