(PHP 4 >= 4.3.0, PHP 5, PHP 7)
socket_set_option — Modifie les options de socket
socket_set_option() configure l'option spécifiée par
optname
, au niveau de protocole
level
à la valeur pointée par
optval
pour le socket spécifié par
socket
.
socket
Une ressource de socket valide, créée par la fonction socket_create() ou la fonction socket_accept().
level
Le paramètre level
spécifie la couche du
protocole de l'option. Par exemple, pour modifier une option de
la couche socket, un niveau égal à SOL_SOCKET
va être utilisé. Les autres niveaux, comme TCP, peuvent être
utilisés en spécifiant un numéro de protocole pour ce niveau.
Les numéros de protocoles peuvent être utilisés en utilisant la fonction
getprotobyname().
optname
Les options disponibles sont les mêmes que pour la fonction socket_get_option().
optval
La valeur de l'option.
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemple #1 Exemple avec socket_set_option()
<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!is_resource($socket)) {
echo 'Impossible de créer le socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
echo 'Impossible de définir l\'option du socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_bind($socket, '127.0.0.1', 1223)) {
echo 'Impossible de lier le socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
}
$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);
if ($rval === false) {
echo 'Impossible de récupérer l\'option du socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
echo 'SO_REUSEADDR est défini sur le socket !' . PHP_EOL;
}
?>