SO_DEBUG |
Сообщает, записывается ли отладочная информация.
|
int
|
SO_BROADCAST |
Сообщает, поддерживается ли передача широковещательных сообщений.
|
int
|
SO_REUSEADDR |
Сообщает, могут ли локальные адреса использоваться повторно.
|
int
|
SO_REUSEPORT |
Сообщает, могут ли локальные порты использоваться повторно.
|
int
|
SO_KEEPALIVE |
Сообщает, поддерживаются ли соединения с периодической передачей
сообщений. Если подключённый сокет не отвечает на эти сообщения,
подключение прерывается и процессы записи в этот сокет уведомляются
сигналом SIGPIPE.
|
int
|
SO_LINGER |
Сообщает, будет ли socket останавливаться
на socket_close(), если данные присутствуют.
По умолчанию, когда сокет закрыт, он попытается отправить все неотправленные
данные. В случае сокета, ориентированного на подключение, socket_close()
будет ожидать, пока его одноранговый узел подтвердит данные.
Если l_onoff отличен от нуля, а
l_linger равно нулю, все неотправленные
данные будут отброшены и RST (сброс) отправлен одноранговому узлу
в случае сокета, ориентированного на подключение.
С другой стороны, если l_onoff и l_linger
отличны от нуля, socket_close() будет блокироваться до тех пор,
пока все данные не будут отправлены или если время, указанное в l_linger, не истечёт.
Если сокет не блокируется, socket_close() потерпит неудачу и вернёт ошибку.
|
array. Массив будет содержать два ключа:
l_onoff и
l_linger.
|
SO_OOBINLINE |
Сообщает, выходит ли socket из встроенных данных.
|
int
|
SO_SNDBUF |
Сообщает размер отправленного буфера.
|
int
|
SO_RCVBUF |
Сообщает о размере полученного буфера.
|
int
|
SO_ERROR |
Сообщает информацию о статусе ошибки и очищает её.
|
int (не может быть установлен socket_set_option())
|
SO_TYPE |
Сообщает о типе socket (например,
SOCK_STREAM ).
|
int (не может быть установлен socket_set_option())
|
SO_DONTROUTE |
Сообщает, что исходящие сообщения обходят стандартные средства маршрутизации.
|
int
|
SO_RCVLOWAT |
Сообщает минимальное количество байтов для обработки операций ввода socket .
|
int
|
SO_RCVTIMEO |
Сообщает значение времени ожидания для операций ввода.
|
array. Массив будет содержать два ключа:
sec, который является частью секунд для значения времени ожидания
и usec, который является микросекундной частью значения времени ожидания.
|
SO_SNDTIMEO |
Сообщает значение времени ожидания, указывающее количество времени, которое блокирует функция вывода,
поскольку управление потоком предотвращает отправку данных.
|
array. Массив будет содержать два ключа:
sec, который является частью секунд для значения времени ожидания
и usec, который является микросекундной частью значения времени ожидания.
|
SO_SNDLOWAT |
Сообщает минимальное количество байтов для обработки операцией вывода socket .
|
int
|
TCP_NODELAY |
Сообщает, отключён ли алгоритм Nagle TCP.
|
int
|
MCAST_JOIN_GROUP |
Присоединяется к многоадресной группе.
|
массив (array) с ключами "group" , указав
строку (string) с многоадресным адресом IPv4 или IPv6
и "interface" , указав либо номер интерфейса (тип int),
либо строку (string ) с именем интерфейса, например "eth0" .
0 можно указать, чтобы сообщить, что интерфейс должен быть выбран с использованием правил маршрутизации.
(может использоваться только в socket_set_option())
|
MCAST_LEAVE_GROUP |
Оставляет многоадресную группу.
|
массив (array). Смотрите MCAST_JOIN_GROUP для получения
дополнительной информации. (может использоваться только в
socket_set_option())
|
MCAST_BLOCK_SOURCE |
Блокирует пакеты, поступающие из определённого источника
в определённую группу многоадресной передачи,
которые должны быть предварительно соединены.
|
массив (array) с такими же ключами, как у
MCAST_JOIN_GROUP , плюс один дополнительный ключ,
source , который представляет строку (string),
указывающую адрес IPv4 или IPv6 источника, который должен быть заблокирован.
(может использоваться только в socket_set_option())
|
MCAST_UNBLOCK_SOURCE |
Разблокирует (начинает приём снова) пакеты, поступающие с определённого
исходного адреса в определённую группу многоадресной передачи,
которая должна предварительно соединена.
|
массив (array) с таким же форматом, как у
MCAST_BLOCK_SOURCE .
(может использоваться только в socket_set_option())
|
MCAST_JOIN_SOURCE_GROUP |
Получать пакеты, предназначенные для конкретной группы многоадресной передачи,
исходный адрес которого совпадает определённому значению.
|
массив (array) с тем же самым форматом, что у
MCAST_BLOCK_SOURCE .
(может использоваться только в socket_set_option())
|
MCAST_LEAVE_SOURCE_GROUP |
Остановить приём пакетов, предназначенных для конкретной группы многоадресной передачи,
исходный адрес которого совпадает определённому значению.
|
массив (array) с тем же самым форматом, что у
MCAST_BLOCK_SOURCE .
(может использоваться только в socket_set_option())
|
IP_MULTICAST_IF |
Исходящий интерфейс для многоадресных пакетов IPv4.
|
Любое целое число (int), указывающее номер интерфейса или
строку (string) с именем интерфейса, например,
eth0 . Значение 0 может использоваться
для указания, что таблица маршрутизации используется для выбора интерфейса.
Функция socket_get_option() возвращает индекс
интерфейса.
Обратите внимание, что в отличие от C API, эта опция НЕ принимает IP-адрес.
Это устраняет разницу в интерфейсе между
IP_MULTICAST_IF и IPV6_MULTICAST_IF .
|
IPV6_MULTICAST_IF |
Исходящий интерфейс для многоадресных пакетов IPv6.
|
То же, что и IP_MULTICAST_IF .
|
IP_MULTICAST_LOOP |
Политика петли групповой передачи для пакетов IPv4 включает или отключает
передачу исходящих многоадресных рассылок, которые должны быть предварительно присоединены.
Эффект, однако, различается, в зависимости от применения в Unix или Windows:
в первом случае на пути получения, а во втором - на пути отправки.
|
целое число (int) (либо 0 , либо
1 ). Для socket_set_option()
любое значение будет принято и преобразовано в тип boolean,
согласно обычным правилам PHP.
|
IPV6_MULTICAST_LOOP |
Аналогично IP_MULTICAST_LOOP , но для IPv6.
|
int. See IP_MULTICAST_LOOP .
|
IP_MULTICAST_TTL |
Время ожидания исходящих пакетов IPv4 для
многоадресной передачи. Это должно быть значение между
0 (не оставлять интерфейс) и 255. Значение по умолчанию - 1
(достигается только локальная сеть).
|
целое число (int) между 0 и 255.
|
IPV6_MULTICAST_HOPS |
Аналогично IP_MULTICAST_TTL , но для пакетов IPv6.
Значение -1 также принимается, что означает использование маршрута по умолчанию.
|
целое число (int) между 0 и 255.
|
SO_MARK |
Устанавливает идентификатор сокета для фильтрации пакетов в Linux.
|
int
|
SO_ACCEPTFILTER |
Добавляет фильтр приёма на прослушиваемый сокет (FreeBSD/NetBSD).
Модуль ядра фильтра приёма должен быть предварительно
загружен в FreeBSD (например, accf_http).
|
Строка (string) имя фильтра (длина не более 15).
|
SO_USER_COOKIE |
Устанавливает идентификатор сокета для фильтрации пакетов в FreeBSD.
|
int
|
SO_RTABLE |
Устанавливает идентификатор сокета
для фильтрации пакетов в OpenBSD.
|
int
|
SO_DONTTRUNC |
Сохраняет непрочитанные данные.
|
int
|
SO_WANTMORE |
Подсказывает, когда будет доступно больше данных.
|
int
|
TCP_DEFER_ACCEPT |
Не уведомляет слушающий сокет, пока данные не будут готовы.
|
int
|
SO_INCOMING_CPU |
Получает/устанавливает сродство к процессору для сокета.
|
int
|
SO_MEMINFO |
Получает meminfo сокета.
|
int
|
SO_BPF_EXTENSIONS |
Получает поддерживаемые ядром модули BPF для присоединения к сокету.
|
int
|
SO_SETFIB |
Устанавливает таблицу маршрутизации (FIB) сокета (только FreeBSD).
|
int
|
SOL_FILTER |
Фильтры, приписываемые сокету (только для Solaris/Illumos).
|
int
|
TCP_KEEPCNT |
Устанавливает максимальное количество зондов keepalive,
которые TCP должен отправить перед разрывом соединения.
|
int
|
TCP_KEEPIDLE |
Устанавливает время, в течение которого соединение должно простаивать.
|
int
|
TCP_KEEPINTVL |
Устанавливает время между отдельными зондами keepalive.
|
int
|
TCP_KEEPALIVE |
Устанавливает время, в течение которого соединение должно простаивать (только для macOS).
|
int
|
TCP_NOTSENT_LOWAT |
Устанавливает предельное количество неотправленных данных в очереди на запись потоком сокета (только для Linux).
|
int
|