socket_set_option

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

socket_set_optionModifie les options de socket

Description

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

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.

Liste de paramètres

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.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec socket_set_option()

<?php
$socket 
socket_create(AF_INETSOCK_STREAMSOL_TCP);

if (!
is_resource($socket)) {
    echo 
'Impossible de créer le socket : 'socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!
socket_set_option($socketSOL_SOCKETSO_REUSEADDR1)) {
    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($socketSOL_SOCKETSO_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;
}
?>

Voir aussi