socket_set_nonblock
socket_shutdown
Fonctions sur les sockets
PHP Manual

# socket_set_option

(PHP 4 >= 4.3.0, PHP 5)

socket_set_option — Modifie les options de socket

### Description

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

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_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;
}
?>`

### Historique

Version | Description
--- | ---
4.3.0 | La fonction a été renommée. Elle s'appelait, avant, socket_setopt().

socket_set_nonblock
socket_shutdown
Fonctions sur les sockets
PHP Manual