socket_set_option
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
socket_set_option — Setzt die Optionen für einen Socket
Beschreibung
Mit socket_set_option() wird die Option, die mit
option
angegeben wurde, auf der Protokollebene
level
für den Socket socket
auf den Wert gesetzt, der in value
übergeben wurde.
Parameter-Liste
-
socket
-
Eine Socket-Instanz, die mit 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 Parameterlevel
auf den WertSOL_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(). -
option
-
Es sind dieselben Socket-Optionen verfügbar, wie bei der Funktion socket_get_option() beschrieben.
-
value
-
Der Wert der Option.
Rückgabewerte
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Changelog
Version | Beschreibung |
---|---|
8.0.0 |
socket ist nun eine
Socket-Instanz; vorher war es eine
resource.
|
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;
}
?>
Siehe auch
- socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)
- socket_bind() - Verknüpft einen Socket mit einem Namen
- socket_strerror() - Gibt einen String zurück, der einen Socket-Fehler beschreibt
- socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
- socket_get_option() - Liefert die Socket-Optionen für einen Socket