socket_set_option
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
socket_set_option — Define opções para o soquete
Descrição
A função socket_set_option() define a opção
especificada pelo parâmetro option
, no
nível do protocolo especificado em level
, para o valor apontado
por value
no soquete informado em
socket
.
Parâmetros
socket
-
Uma instância de Socket criada com socket_create() ou socket_accept().
level
-
O parâmetro
level
especifica o nível de protocolo no qual a opção reside. Por exemplo, para definir opções no nível do soquete, um parâmetrolevel
deSOL_SOCKET
seria usado. Outros níveis, como TCP, podem ser usados especificando o número do protocolo desse nível. Os números de protocolo podem ser encontrados usando a função getprotobyname(). option
-
As opções de soquete disponíveis são as mesmas da função socket_get_option().
value
-
O valor da opção.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro socket agora espera uma instância de Socket;
anteriormente, um resource era esperado.
|
Exemplos
Example #1 Exemplo de socket_set_option()
<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!is_resource($socket)) {
echo 'Não foi possível criar o soquete: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
echo 'Não foi possível definir a opção no soquete: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_bind($socket, '127.0.0.1', 1223)) {
echo 'Não foi possível vincular ao soquete: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);
if ($rval === false) {
echo 'Não foi possível obter a opção do soquete: '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
echo 'SO_REUSEADDR está definida no soquete !' . PHP_EOL;
}
?>
Veja Também
- socket_create() - Cria um soquete (ponto de extremidade para comunição)
- socket_bind() - Vincula um nome a um soquete
- socket_strerror() - Retorna uma string descrevendo um erro no soquete
- socket_last_error() - Retorna o último erro no soquete
- socket_get_option() - Obtém opções para o soquete