(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
.
socket
Una 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().
option
Las opciones disponibles son las mismas que para la función socket_get_option().
value
El valor de la opción.
Versión | Descripción |
---|---|
8.0.0 |
socket is a Socket instance now;
previously, it was a 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;
}
?>