Все мы привыкли работать с символьными адресами компьютеров в Интернете, но только Интернет не может с ними работать без специальной службы DNS (Domain Name System, служба имен доменов). Для адресации компьютеров в сети используются числовые IP-адреса, а символьные слова — это всего лишь псевдонимы. Когда вы запрашиваете соединение с сервером по символьному имени, то сначала это имя превращается в IP-адреса с помощью службы DNS, и только потом происходит соединение с полученным IP. Итак, для определения IP-адреса используются функции gethostbyname() и gethostbyname1() . Обеим функциям нужно передать в качестве параметра имя компьютера, IP-адрес которого вы хотите узнать. В качестве результата функция gethostbyname() возвращает первый найденный IP-адрес, a gethostbyname1 () возвращает список всех найденных адресов. Дело в том, что за одним именем может быть закреплено несколько IP-адресов. Если вам нужно просто создать соединение, то можно воспользоваться функцией gethostbyname() , этого вполне достаточно. Рассмотрим пример определения IP-адреса по доменному имени:
<?php $host_ip = gethostbyname("www.yahoo.com"); print("У Yahoo IP адрес: $host_ip"); ?>
Иногда бывает необходимо выполнить обратную операцию — преобразовать IP-адрес в доменное имя. Для этого используется функция gethostbyaddr(). Этой функции нужно передать IP-адрес, а в результате мы получим доменное имя:
У каждого символьного имени обязательно должен быть IP-адрес, иначе сетевое соединение будет недоступно. Но при этом не у каждого IP-адреса есть имя, или, возможно, просто не существует соответствующая DNS-запись. В этом случае функция gethostbyaddrO возвращает не имя, а IP-адрес, который вы указали в параметре. Адрес 127.0.0.1 соответствует локальной машине, и для этого адреса функция, чаще всего, возвращает имя localhost.
Что-то не получается? Не понятна какая-то часть кода? Напишите комментарий об этом и мы обязательно Вам все объясним! Обязательно напишите отзыв о программе / учебнике. Для выражения благодарностей есть кнопка:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.