socket_bind - Привязывает имя к сокету
Вернуться к: Сокетные Функции
socket_bind
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
socket_bind — Привязывает имя к сокету
Описание
$socket
, string $address
[, int $port
= 0
] )
Привязывает имя, указанное в параметре address
, к сокету,
описанному в параметре socket
. Это должно быть сделано до того,
как соединение установлено при помощи функции socket_connect()
или socket_listen().
Список параметров
-
socket
-
Действующий ресурс сокета, созданный при помощи функции socket_create().
-
address
-
Если сокет из семейства
AF_INET
, то параметрaddress
должен быть IP-адресом в записи, разделённой точками (например, 127.0.0.1).Если сокет из семейства
AF_UNIX
, то параметрaddress
- это путь к доменному сокету Unix (например, /tmp/my.sock). -
port
(Optional) -
Параметр
port
используется только когда имя привязывается к сокетуAF_INET
, и указывает порт, на котором будут слушаться соединения.
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Код ошибки может быть получен при помощи функции socket_last_error(). Этот код может быть передан функции socket_strerror() для получения текстового описания ошибки.
Примеры
Пример #1 Использование функции socket_bind() для установки адреса источника
<?php
// Создаём новый сокет
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Пример списка IP-адресов, которые есть на компьютере
$sourceips['kevin'] = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';
// Привязываем адрес источника
socket_bind($sock, $sourceips['madcoder']);
// Соединяемся с адресом назначения
socket_connect($sock, '127.0.0.1', 80);
// Пишем в сокет
$request = 'GET / HTTP/1.1' . "\r\n" .
'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);
// Закрываем сокет
socket_close($sock);
?>
Примечания
Замечание:
Эта функция должна быть применена на сокете перед вызовом socket_connect().
Замечание:
Примечание по совместимости с Windows 9x/ME: Функция socket_last_error() может возвращать неверный код ошибки при попытке связать с сокетом неверный адрес, который не принадлежит вашей машине.
Смотрите также
- socket_connect() - Начинает соединение с сокетом
- socket_listen() - Listens for a connection on a socket
- socket_create() - Create a socket (endpoint for communication)
- socket_last_error() - Возвращает последнюю ошибку на сокете
- socket_strerror() - Возвращает строку, описывающую ошибку сокета
Вернуться к: Сокетные Функции