socket_set_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

socket_set_optionEstablece las opciones de socket para el socket

Descripción

socket_set_option(
    resource$socket,
    int$level,
    int$optname,
    mixed$optval
): bool

La función socket_set_option() establece la opción especificada por el parámetro optname, al nivel (level) del protocolo especificado, al valor apuntado por el parámetro optval para el socket.

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

level

El parámetro level especifica el nivel de protocolo en el que reside la opción. Por ejemplo, para recuperar opciones a nivel de socket, se debería usar un parámetro level de SOL_SOCKET. Otros niveles, como TCP, se pueden usar para especificar el número de protocolo de ese nivel. Los números de protocolo se pueden encontrar usando la función getprotobyname().

optname

Las opciones de socket dispobibles son las mismas que las de la función socket_get_option().

optval

El valor opcional.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de socket_set_option()

<?php
$socket
= socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!
is_resource($socket)) {
echo
'No se pudo crear elsocket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!
socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
echo
'No se pudo establecer la opción del socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!
socket_bind($socket, '127.0.0.1', 1223)) {
echo
'No se pudo vincular el socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);

if (
$rval === false) {
echo
'No se pudo obtener la opción del option: '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if (
$rval !== 0) {
echo
'SO_REUSEADDR está establecido en el socket !' . PHP_EOL;
}
?>

Ver también

To Top