Function.socket-set-option

Aus PHP-Wiki

Wechseln zu: Navigation, Suche
Pferdehalterhaftpflichtversicherung Vergleichen Online und Komplett-Sparset Heike, Buche teilmassivKFZ Versicherung . Reiseversicherung

socket_set_option — Setzt die Optionen für einen Socket

Inhaltsverzeichnis

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
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 FALSE.

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().

Persönliche Werkzeuge