Список контекстных опций сокета


Контекстные опции сокетаСписок контекстных опций сокета

Описание

Контекстные опции доступны для всех оберток, которые работают через сокеты, такие как tcp, http и ftp.

Опции

bindto

Используется для указания IP адреса (IPv4 или IPv6) и\или номера порта, которые PHP будет использовать для подключения к сети. Синтаксис выглядит следующим образом: ip:port для адреса IPv4, и [ip]:port для адреса IPv6. Установка IP и\или порта в 0 позволит системе самой выбрать нужный IP и\или порт.

Замечание:

Так как во время обычной работы FTP создает 2 соединения с сокетами, номер порта не может быть задан с помощью данной опции.

backlog

Используется для ограничения исходящих соединений, в очереди соединений сокета.

Замечание:

Используется только для stream_socket_server().

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

Версия Описание
5.3.3 Добавлено backlog.
5.1.0 Добавлено bindto.

Примеры

Пример #1 Пример использования bindto

<?php
// Соединение с сетью, используя IP '192.168.0.100'
$opts = array(
    
'socket' => array(
        
'bindto' => '192.168.0.100:0',
    ),
);


// Соединение с сетью, используя IP '192.168.0.100' и порт '7000'
$opts = array(
    
'socket' => array(
        
'bindto' => '192.168.0.100:7000',
    ),
);


// Соединение с сетью, используя IPv6 адрес '2001:db8::1'
// и порт '7000'
$opts = array(
    
'socket' => array(
        
'bindto' => '[2001:db8::1]:7000',
    ),
);


// Соединение с сетью, используя порт '7000'
$opts = array(
    
'socket' => array(
        
'bindto' => '0:7000',
    ),
);


// Создаем контекст...
$context stream_context_create($opts);

// ...и используем его для получения данных
echo file_get_contents('http://www.example.com'false$context);

?>