(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
socket_set_option — Modifica las opciones de socket
socket_set_option() configura la opción especificada por
option, al nivel de protocolo
level al valor apuntado por
value para el socket especificado por
socket.
socketUna instancia de Socket creada por socket_create() o socket_accept().
level
El parámetro level especifica la capa del
protocolo de la opción. Por ejemplo, para modificar una opción de
la capa socket, se utiliza un nivel igual a SOL_SOCKET.
Otros niveles, como TCP, pueden ser utilizados especificando un número de protocolo para este nivel.
Los números de protocolos pueden ser utilizados utilizando la función
getprotobyname().
optionLas opciones disponibles son las mismas que para la función socket_get_option().
valueEl valor de la opción.
| Versión | Descripción |
|---|---|
| 8.0.0 |
socket ahora es una instancia de Socket ;
anteriormente, era un resource.
|
Ejemplo #1 Ejemplo con socket_set_option()
<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!is_resource($socket)) {
echo 'No es posible crear el socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
echo 'No es posible definir la opción del socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_bind($socket, '127.0.0.1', 1223)) {
echo 'No es posible vincular el socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);
if ($rval === false) {
echo 'No es posible recuperar la opción del socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
echo 'SO_REUSEADDR está definido en el socket!' . PHP_EOL;
}
?>