| Статьи о PHP | Работа с сокетами в PHP (функция fsockopen) Сокеты в PHP (функция fsockopen) Функция 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."\r\n");
while (!feof($sock))
{
echo (str_replace(":",": ",
fgets ($sock,128))."<br>");
}
}
fclose ($sock);
}
?>
</body>
</html>
|