socket_set_nonblock
socket_shutdown
Socket-Funktionen
PHP Manual

# socket_set_option

(PHP 4 >= 4.3.0, PHP 5)

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_INET, SOCK_STREAM, SOL_TCP);
if (!is_resource($socket)) {
echo 'Kann keinen Socket erzeugen: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
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($socket, SOL_SOCKET, SO_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;
}
?>`

### Changelog

Version | Beschreibung
--- | ---
4.3.0 | Diese Funktion wurde umbenannt. Ihr bisheriger Name war socket_setopt().

socket_set_nonblock
socket_shutdown
Socket-Funktionen
PHP Manual