Функция fsockopen предназначена для соединения клиента с сервером. Она очень удобна, поскольку является универсальной и объединяет в себе те функции, которые есть в php для работы с сокетами. Функция имеет следующий синтаксис: int fsockopen (string target, int port [, int errno [, string errstr [, float timeout]]]) Первый аргумент функции представляет собой url хоста target, с которым необходимо соединиться, второй - номер порта port по которому произойдет соединение. Необязательный аргумент errno указывает на номер ошибки, а errstr содержит текст сообщения об ошибке. Аргумент timeout позволяет указать количество секунд, в течение которого устанавливается соединение. Практический пример с использованием функции fsockopen В этом примере мы разработаем простое приложение, позволяющее пользователю узнать на кого и где зарегистрирован ip-адрес. Для этого мы с помощью функции fsockopen установим соединение с сервером whois.ripe.net, как это показано ниже: <html> <head> <title>ip information</title> </head> <body> <center> <form action=ip.php method=post> <br> </i></b></font> <br> <input type=text name=ip size=35> <input type=submit value=`Введите ip-адрес`> </form> </center> <? if ($ip!="") { $sock = fsockopen ("whois.ripe.net", 43, $errno, $errstr); if (!$sock) { echo("$errno($errstr)"); return; } else { fputs ($sock, $ip."
"); while (!feof($sock)) { echo (str_replace(":",": ", fgets ($sock,128))."<br>"); } } fclose ($sock); } ?> </body> </html>
|