socket_bind

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_bindПривязывает имя к сокету

Описание

socket_bind(Socket $socket, string $address, int $port = 0): bool

Функция привязывает имя, которое указали в параметре address, к сокету, который описали в параметре socket. Привязку имени требуется сделать до установки соединения функцией socket_connect() или socket_listen().

Список параметров

socket

Экземпляр класса Socket, который создала функция socket_create().

address

В аргументе address передают IP-адрес в 4-точечной нотации наподобие 127.0.0.1), если сокет принадлежит семейству AF_INET — IPv4-адреса сокетов в интернет-домене.

В аргументе address передают путь сокета наподобие /tmp/my.sock), если сокет принадлежит семейству AF_UNIX — адреса сокетов в виде имён путей файловой системы в Unix-домене.

port (Optional)

Параметр port устанавливают только при привязке AF_INET-сокета. Параметр определяет порт, на котором требуется прослушивать соединения.

Возвращаемые значения

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Код ошибки получают функцией socket_last_error(). Код передают в функцию socket_strerror(), чтобы получить текстовое объяснение ошибки.

Список изменений

Версия Описание
8.0.0 Теперь параметр socket ожидает экземпляр класса Socket; раньше параметр ожидал ресурс (resource).

Примеры

Пример #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().

Смотрите также

  • socket_connect() - Начинает соединение с сокетом
  • socket_listen() - Прослушивает входящие соединения на сокете
  • socket_create() - Создаёт сокет (конечную точку для обмена информацией)
  • socket_last_error() - Возвращает последнюю ошибку сокета
  • socket_strerror() - Возвращает строку, описывающую ошибку сокета