SO_DEBUG |
Reporta se a informação de depuração está sendo gravada.
|
int
|
SO_BROADCAST |
Reporta se a transmissão de mensagens de difusão é suportada.
|
int
|
SO_REUSEADDR |
Reporta se os endereços locais podem ser reutilizados.
|
int
|
SO_REUSEPORT |
Reporta se as portas locais podem ser reutilizadas.
|
int
|
SO_KEEPALIVE |
Reporta se as conexões são mantidas ativas com transmissão periódicas
de mensagens. Se o soquete conectado falhar em responder a essas mensagens,
a conexão é quebrada e os processos escrevendo nesse soquete são notificados
com um sinal SIGPIPE.
|
int
|
SO_LINGER |
Informa se o soquete especificado em socket permanece em
socket_close() se houver dados presentes. Por padrão,
quando o soquete é fechado, ele tenta enviar todos os dados não enviados.
No caso de um soquete orientado a conexão,
socket_close() aguardará que seu par
reconheça os dados.
Se l_onoff for diferente de zero
e l_linger for zero, todos os
dados não enviados serão descartados e o RST (redefinição) será enviado ao
par no caso de um soquete orientado a conexão.
Por outro lado, se l_onoff for
diferente de zero e l_linger for diferente de zero,
socket_close() irá bloquear até que todos os dados
sejam enviados ou que tenha passado o tempo especificado em l_linger.
Se o soquete for não bloqueante,
socket_close() falhará e retornará um erro.
|
array. O array conterá duas chaves:
l_onoff e
l_linger.
|
SO_OOBINLINE |
Reporta se o socket mantém os dados fora-de-banda em linha.
|
int
|
SO_SNDBUF |
Reporta o tamanho do buffer de envio.
|
int
|
SO_RCVBUF |
Reporta o tamanho do buffer de recebimento.
|
int
|
SO_ERROR |
Relata informações sobre o status do erro e o limpa.
|
int (não pode ser definido por socket_set_option())
|
SO_TYPE |
Reporta o tipo do socket (ex.:
SOCK_STREAM ).
|
int (não pode ser definido por socket_set_option())
|
SO_DONTROUTE |
Informa se as mensagens de saída ignoram os recursos de roteamento padrão.
|
int
|
SO_RCVLOWAT |
Informa o número mínimo de bytes a serem processados para operações de
entrada de socket .
|
int
|
SO_RCVTIMEO |
Informa o valor do tempo limite para operações de entrada.
|
array. O array conterá duas chaves:
sec que é a parte dos segundos no valor do tempo
limite e usec que é a parte dos microssegundos
do valor do tempo limite.
|
SO_SNDTIMEO |
Informa o valor do tempo limite especificando a quantidade de tempo que uma função
de saída bloqueia porque o controle de fluxo impede o envio de dados.
|
array. O array conterá duas chaves:
sec que é a parte dos segundos no valor do tempo
limite e usec que é a parte dos microssegundos
do valor do tempo limite.
|
SO_SNDLOWAT |
Informa o número mínimo de bytes a serem processados para operações de saída do socket .
|
int
|
TCP_NODELAY |
Informa se o algoritmo Nagle TCP está desabilitado.
|
int
|
MCAST_JOIN_GROUP |
Ingressa em um grupo "multicast".
|
array com chaves "group" , especificando
uma string com um endereço "multicast" IPv4 ou IPv6 e
"interface" , especificando um número de
interface (tipo int) ou uma string com
o nome da interface, como "eth0" .
0 pode ser especificado para indicar que a interface
deve ser selecionada usando regras de roteamento. (só pode ser usada em
socket_set_option())
|
MCAST_LEAVE_GROUP |
Sai de um grupo "multicast".
|
array. Veja MCAST_JOIN_GROUP para
mais informação. (só pode ser usada em
socket_set_option())
|
MCAST_BLOCK_SOURCE |
Bloqueia pacotes que chegam de uma origem específica para um grupo
"multicast" específico, no qual deve-se ter ingressado previamente.
|
array com as mesmas chaves de
MCAST_JOIN_GROUP , mais uma chave extra,
source , que mapeia a uma string
especificando um endereço IPv4 ou IPv6 da origem a ser bloqueada.
(só pode ser usada em socket_set_option())
|
MCAST_UNBLOCK_SOURCE |
Desbloqueia (volta a receber) pacotes que chegam de um endereço
de origem específico para um grupo "multicast" específico, no qual deve-se
ter ingressado previamente.
|
array com o mesmo formato de
MCAST_BLOCK_SOURCE .
(só pode ser usada em socket_set_option())
|
MCAST_JOIN_SOURCE_GROUP |
Recebe pacotes destinados a um grupo "multicast" específico cujo endereço
de origem corresponde a um valor específico.
|
array com o mesmo formato de
MCAST_BLOCK_SOURCE .
(só pode ser usada em socket_set_option())
|
MCAST_LEAVE_SOURCE_GROUP |
Para de receber pacotes destinados a um grupo "multicast" específico cujo
endereço de origem corresponde a um valor específico.
|
array com o mesmo formato de
MCAST_BLOCK_SOURCE .
(só pode ser usada em socket_set_option())
|
IP_MULTICAST_IF |
A interface de saída para pacotes "multicast" IPv4.
|
Pode ser um int especificando o número da interface ou uma
string com um nome de interface, como
eth0 . O valor 0 pode ser usado para
indicar a tabela de roteamento a ser usada na seleção da interface.
A função socket_get_option() retorna um
índice de interface.
Observe que, diferentemente da API C, esta opção NÃO utiliza um endereço
IP. Isto elimina a diferença de interface entre
IP_MULTICAST_IF e
IPV6_MULTICAST_IF .
|
IPV6_MULTICAST_IF |
A interface de saída para pacotes "multicast" IPv6.
|
O mesmo que IP_MULTICAST_IF .
|
IP_MULTICAST_LOOP |
A política de "loopback multicast" para pacotes IPv4 habilita ou desabilita
o "loopback" de "multicasts" de saída, que devem ter sido previamente ingressados.
O efeito difere, entretanto, se for aplicado em unixes ou Windows,
o primeiro está no caminho de recepção enquanto o último está
no caminho de envio.
|
int (pode ser 0 ou
1 ). Para socket_set_option(),
qualquer valor será aceito e será convertido para um booleano
seguindo as regras normais do PHP.
|
IPV6_MULTICAST_LOOP |
Análoga a IP_MULTICAST_LOOP , porém para IPv6.
|
int. Veja IP_MULTICAST_LOOP .
|
IP_MULTICAST_TTL |
O tempo de vida dos pacotes de saída IPv4 "multicast". Deve ser
um valor entre 0 (não sair da interface) e 255. O padrão
é 1 (apenas a rede local é alcançada).
|
int entre 0 e 255.
|
IPV6_MULTICAST_HOPS |
Análoga a IP_MULTICAST_TTL , porém para pacotes
IPv6. O valor -1 também é aceito e significa que a rota padrão
deve ser usada.
|
int entre -1 e 255.
|
SO_MARK |
Define um identificador no soquete com o objetivo de filtrar
pacotes no Linux.
|
int
|
SO_ACCEPTFILTER |
Adicionar um filtro de aceitação no soquete sendo escutado (FreeBSD/NetBSD).
Um módulo de kernel de filtro de aceitação precisa ser carregado antecipadamente
no FreeBSD (ex.: accf_http).
|
string. Nome do filtro (comprimento máximo de 15).
|
SO_USER_COOKIE |
Define um identificador no soquete com o objetivo de filtrar
pacotes no FreeBSD.
|
int
|
SO_RTABLE |
Define um identificador no soquete com o objetivo de filtrar
pacotes no OpenBSD.
|
int
|
SO_DONTTRUNC |
Retém dados não lidos.
|
int
|
SO_WANTMORE |
Fornece uma dica de quando mais dados estão prontos.
|
int
|
TCP_DEFER_ACCEPT |
Não notifica um soquete que estiver escutando até que os dados estejam prontos.
|
int
|
SO_INCOMING_CPU |
Obtém/define a afinidade de CPU de um soquete.
|
int
|
SO_MEMINFO |
Obtém todas as informações de memória de um soquete.
|
int
|
SO_BPF_EXTENSIONS |
Obtém as extensões BPF suportadas pelo kernel para anexar a um soquete.
|
int
|
SO_SETFIB |
Define a tabela de rotas (FIB) de um soquete. (Somente FreeBSD)
|
int
|
SOL_FILTER |
Filtros atribuídos a um soquete. (Somente Solaris/Illumos)
|
int
|
TCP_KEEPCNT |
Define o número máximo de sondas de manutenção de atividade que o TCP deve enviar antes de interromper a conexão.
|
int
|
TCP_KEEPIDLE |
Define o tempo que a conexão precisa permanecer ociosa.
|
int
|
TCP_KEEPINTVL |
Define o tempo entre sondagens de manutenção de atividade individuais.
|
int
|
TCP_KEEPALIVE |
Define o tempo que a conexão precisa permanecer ociosa. (somente macOS)
|
int
|
TCP_NOTSENT_LOWAT |
Define o número limite de dados não enviados na fila de escrita pelo fluxo de soquete. (somente Linux)
|
int
|