TIGERCMS.com - документация, статьи и примеры по PHP. [Назад]

Сокеты в PHP (функция fsockopen)[Печать]
Разместил: admin . Раздел: Интересное. Опубликовано: 09-20-2007 18:38:47
Функция 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(":",":&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
fgets ($sock,128))."<br>");
}
}
fclose ($sock);
}
?>
</body>
</html>

Источник: http://articles.org.ru   Прочитана 1192 раз.