Предопределенные константы
Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.
-
AF_UNIX
(integer) -
AF_INET
(integer) -
AF_INET6
(integer) - Константа доступна только если PHP скомпилирован с поддержкой IPv6.
-
SOCK_STREAM
(integer) -
SOCK_DGRAM
(integer) -
SOCK_RAW
(integer) -
SOCK_SEQPACKET
(integer) -
SOCK_RDM
(integer) -
MSG_OOB
(integer) -
MSG_WAITALL
(integer) -
MSG_PEEK
(integer) -
MSG_DONTROUTE
(integer) -
MSG_EOR
(integer) - Константа недоступна на Windows-платформах.
-
MSG_EOF
(integer) - Константа недоступна на Windows-платформах.
-
SO_DEBUG
(integer) -
SO_REUSEADDR
(integer) -
SO_REUSEPORT
(integer) -
Эта константа доступна только в PHP 5.4.10 и новее на платформах,
которые поддерживают опцию
SO_REUSEPORT
сокета: сюда входят Mac OS X и FreeBSD, но не входят Linux или Windows. -
SO_KEEPALIVE
(integer) -
SO_DONTROUTE
(integer) -
SO_LINGER
(integer) -
SO_BROADCAST
(integer) -
SO_OOBINLINE
(integer) -
SO_SNDBUF
(integer) -
SO_RCVBUF
(integer) -
SO_SNDLOWAT
(integer) -
SO_RCVLOWAT
(integer) -
SO_SNDTIMEO
(integer) -
SO_RCVTIMEO
(integer) -
SO_TYPE
(integer) -
SO_ERROR
(integer) -
TCP_NODELAY
(integer) - Константа используется для отключения TCP-алгоритма Нагла. Добавлена в PHP 5.2.7.
-
SOL_SOCKET
(integer) -
PHP_NORMAL_READ
(integer) -
PHP_BINARY_READ
(integer) -
SOL_TCP
(integer) -
SOL_UDP
(integer)
Следующие константы определены только в Windows и Unix-подобных системах. Каждая константа определена только, если ее эквивалент доступен в системе.
-
SOCKET_EINTR
(integer) - Прерванный системный вызов.
-
SOCKET_EBADF
(integer) - Неверный номер файла.
-
SOCKET_EACCES
(integer) - Доступ запрещён.
-
SOCKET_EFAULT
(integer) - Неверный адрес.
-
SOCKET_EINVAL
(integer) - Неверный аргумент.
-
SOCKET_EMFILE
(integer) - Слишком много открытых файлов.
-
SOCKET_ENAMETOOLONG
(integer) - Слишком длинное имя файла.
-
SOCKET_ENOTEMPTY
(integer) - Каталог не пуст.
-
SOCKET_ELOOP
(integer) - Обнаружено слишком много символических ссылок.
-
SOCKET_EWOULDBLOCK
(integer) - Операция будет блокирована.
-
SOCKET_EREMOTE
(integer) - Объект является удалённым.
-
SOCKET_EUSERS
(integer) - Слишком много пользователей.
-
SOCKET_ENOTSOCK
(integer) - Socket operation on non-socket.
-
SOCKET_EDESTADDRREQ
(integer) - Destination address required.
-
SOCKET_EMSGSIZE
(integer) - Сообщение слишком длинное.
-
SOCKET_EPROTOTYPE
(integer) - Protocol wrong type for socket.
-
SOCKET_EPROTONOSUPPORT
(integer) - Протокол не поддерживается.
-
SOCKET_ESOCKTNOSUPPORT
(integer) - Тип сокета не поддерживается.
-
SOCKET_EOPNOTSUPP
(integer) - Операция не поддерживается на конечной точке транспорта.
-
SOCKET_EPFNOSUPPORT
(integer) - Семейство протоколов не поддерживается.
-
SOCKET_EAFNOSUPPORT
(integer) - Семейство адресов не поддерживается протоколом.
-
SOCKET_EADDRNOTAVAIL
(integer) - Не удается назначить требуемый адрес.
-
SOCKET_ENETDOWN
(integer) - Сеть не работает.
-
SOCKET_ENETUNREACH
(integer) - Сеть недоступна.
-
SOCKET_ENETRESET
(integer) - Сеть сбросила соединение из-за переустановки соединения.
-
SOCKET_ECONNABORTED
(integer) - Приложение вызвало разрыв соединения.
-
SOCKET_ECONNRESET
(integer) - Соединение сброшено узлом.
-
SOCKET_ENOBUFS
(integer) - Нет доступного буферного пространства.
-
SOCKET_EISCONN
(integer) - Конечная точка транспорта уже подсоединена.
-
SOCKET_ENOTCONN
(integer) - Конечная точка транспорта не подсоединена.
-
SOCKET_ESHUTDOWN
(integer) - Не удается отправить данные из-за отключения конечной точки транспорта.
-
SOCKET_ETIMEDOUT
(integer) - Истекло время соединения.
-
SOCKET_ECONNREFUSED
(integer) - Отказ в соединении.
-
SOCKET_EHOSTDOWN
(integer) - Хост выключен.
-
SOCKET_EHOSTUNREACH
(integer) - Нет маршрута до хоста.
-
SOCKET_EALREADY
(integer) - Операция уже в прогрессе.
-
SOCKET_EINPROGRESS
(integer) - Операция сейчас в прогрессе.
Следующие константы определены только в Windows.
-
SOCKET_ENOPROTOOPT
(integer) -
SOCKET_EADDRINUSE
(integer) -
SOCKET_ETOOMYREFS
(integer) -
SOCKET_EPROCLIM
(integer) -
SOCKET_EDUOT
(integer) -
SOCKET_ESTALE
(integer) -
SOCKET_EDISCON
(integer) -
SOCKET_SYSNOTREADY
(integer) -
SOCKET_VERNOTSUPPORTED
(integer) -
SOCKET_NOTINITIALISED
(integer) -
SOCKET_HOST_NOT_FOUND
(integer) -
SOCKET_TRY_AGAIN
(integer) -
SOCKET_NO_RECOVERY
(integer) -
SOCKET_NO_DATA
(integer) -
SOCKET_NO_ADDRESS
(integer)
Следующие константы доступны только на UNIX-платформах. Каждая константа определена только если её эквивалент доступен на платформе.
-
SOCKET_EPERM
(integer) - Операция не допускается.
-
SOCKET_ENOENT
(integer) - Нет такого файла или каталога.
-
SOCKET_EIO
(integer) - Ошибка ввода-вывода.
-
SOCKET_ENXIO
(integer) - Нет такого устройства или адреса.
-
SOCKET_E2BIG
(integer) - Список аргументов слишком длинный.
-
SOCKET_EAGAIN
(integer) - Попытайтесь ещё раз.
-
SOCKET_ENOMEM
(integer) - Переполнение доступной памяти.
-
SOCKET_ENOTBLK
(integer) - Требуется блочное устройство.
-
SOCKET_EBUSY
(integer) - Устройство или ресурс занято.
-
SOCKET_EEXIST
(integer) - Файл существует.
-
SOCKET_EXDEV
(integer) - Ссылка на кросс-устройство.
-
SOCKET_ENODEV
(integer) - Нет такого устройства.
-
SOCKET_ENOTDIR
(integer) - Это не каталог.
-
SOCKET_EISDIR
(integer) - Это каталог.
-
SOCKET_ENFILE
(integer) - Переполнение файловой таблицы.
-
SOCKET_ENOTTY
(integer) - Не печатающее устройство.
-
SOCKET_ENOSPC
(integer) - Не осталось места на устройстве.
-
SOCKET_ESPIPE
(integer) - Недопустимый запрос.
-
SOCKET_EROFS
(integer) - Файловая система доступна только для чтения.
-
SOCKET_EMLINK
(integer) - Слишком много ссылок.
-
SOCKET_EPIPE
(integer) - Оборванный канал.
-
SOCKET_ENOLCK
(integer) - Не доступна блокировка записи.
-
SOCKET_ENOSYS
(integer) - Функция не реализована.
-
SOCKET_ENOMSG
(integer) - Нет сообщения желаемого типа.
-
SOCKET_EIDRM
(integer) - Идентификатор удалён.
-
SOCKET_ECHRNG
(integer) - Тип канала выходит за пределы диапазона.
-
SOCKET_EL2NSYNC
(integer) - Уровень 2 не синхронизирован.
-
SOCKET_EL3HLT
(integer) - Уровень 3 остановлен.
-
SOCKET_EL3RST
(integer) - Уровень 3 сброшен.
-
SOCKET_ELNRNG
(integer) - Номер ссылки выходит за пределы диапазона.
-
SOCKET_EUNATCH
(integer) - Драйвер протокола не подключён.
-
SOCKET_ENOCSI
(integer) - CSI-структура недоступна.
-
SOCKET_EL2HLT
(integer) - Уровень 2 остановлен.
-
SOCKET_EBADE
(integer) - Недопустимый коммутатор.
-
SOCKET_EBADR
(integer) - Недопустимый дескриптор запроса.
-
SOCKET_EXFULL
(integer) - Коммутатор заполнен.
-
SOCKET_ENOANO
(integer) - Не anode.
-
SOCKET_EBADRQC
(integer) - Недопустимый код запроса.
-
SOCKET_EBADSLT
(integer) - Недопустимый слот.
-
SOCKET_ENOSTR
(integer) - Устройство не является потоковым.
-
SOCKET_ENODATA
(integer) - Нет доступных данных.
-
SOCKET_ETIME
(integer) - Таймер истёк.
-
SOCKET_ENOSR
(integer) - Кончились потоковые ресурсы.
-
SOCKET_ENONET
(integer) - Машина не подключена к сети.
-
SOCKET_ENOLINK
(integer) - Ссылка была разорвана.
-
SOCKET_EADV
(integer) - Ошибка объявления error.
-
SOCKET_ESRMNT
(integer) - Ошибка Srmount.
-
SOCKET_ECOMM
(integer) - Ошибка связи при отправке.
-
SOCKET_EPROTO
(integer) - Ошибка протокола.
-
SOCKET_EMULTIHOP
(integer) - Попытка перескочить на недоступный ресурс (multihop).
-
SOCKET_EBADMSG
(integer) - Не является сообщением с данными.
-
SOCKET_ENOTUNIQ
(integer) - Имя не уникальное в сети.
-
SOCKET_EBADFD
(integer) - Файловый указатель в неверном состоянии.
-
SOCKET_EREMCHG
(integer) - Удаленный адрес изменился.
-
SOCKET_ERESTART
(integer) - Прерванный системный вызов должен быть перезапущен.
-
SOCKET_ESTRPIPE
(integer) - Ошибка канала потока.
-
SOCKET_EPROTOOPT
(integer) - Протокол не доступен.
-
SOCKET_ADDRINUSE
(integer) - Адрес уже в использовании.
-
SOCKET_ETOOMANYREFS
(integer) - Слишком много ссылок: не могу соединить.
-
SOCKET_EISNAM
(integer) - Именованный тип файла.
-
SOCKET_EREMOTEIO
(integer) - Ошибка удалённого ввода-вывода.
-
SOCKET_EDQUOT
(integer) - Квота превышена.
-
SOCKET_ENOMEDIUM
(integer) - Носитель не найден.
-
SOCKET_EMEDIUMTYPE
(integer) - Неверный тип носителя.
Коментарии
$a = get_defined_constants(TRUE);
foreach ($a as $k => $v) {
printf('%-25s <br/>', $k);
foreach ($v as $k => $v) {
printf('  --->%-25s %d<br/>', $k, $v);
}
}
this may look duplicate for previous anonymous post but that code snippet only return 1 for constants value
1-->first called the get_defined_constants by passing argument true to categorize the data
2-->then using foreach iterate over index of the array
3-->here printf is used to print title of the category
4-->then it move on to interrior array and display the list of contants available in each category along with its value
Seems like SOCKET_EAGAIN is an alias of SOCKET_EWOULDBLOCK (int 11)