socket_set_option

Setzt die Optionen für einen Socket

Beschreibung

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

Mit socket_set_option wird die Option, die mit optname angegeben wurde, auf der Protokollebene level für den Socket socket auf den Wert gesetzt, der in optval übergeben wurde.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create oder socket_accept erzeugt wurde.

level

Der Parameter level gibt die Protokollebene an, auf der diese Option gilt. Um beispielsweise Optionen auf dem Socket-Level abzufragen würde man den Parameter level auf den Wert SOL_SOCKET setzen. Andere Ebenen, wie etwa TCP können benutzt werden, indem man die Protokollnummer dieser Ebene benutzt. Protokollnummern erhält man mit der Funktion getprotobyname.

optname

Es sind dieselben Socket-Optionen verfügbar, wie bei der Funktion socket_get_option beschrieben.

optval

Der Wert der Option.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 socket_set_option Beispiel

<?php
$socket 
socket_create(AF_INETSOCK_STREAMSOL_TCP);

if (!
is_resource($socket)) {
    echo 
'Kann keinen Socket erzeugen: 'socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!
socket_set_option($socketSOL_SOCKETSO_REUSEADDR1)) {
    echo 
'Kann keine Option setzen für Socket: 'socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!
socket_bind($socket'127.0.0.1'1223)) {
    echo 
'Kann den Socket nicht benennen: 'socket_strerror(socket_last_error()) . PHP_EOL;
}

$rval socket_get_option($socketSOL_SOCKETSO_REUSEADDR);

if (
$rval === false) {
    echo 
'Kann keine Socket-Optionen ermitteln: 'socket_strerror(socket_last_error()) . PHP_EOL;
} else if (
$rval !== 0) {
    echo 
'SO_REUSEADDR ist für den Socket gesetzt!' PHP_EOL;
}
?>