(PHP 4 >= 4.3.0, PHP 5, PHP 7)
socket_get_option — Holt die Socket-Optionen für einen Socket
socket_get_option() gibt den Wert der Option zurück,
der im Parameter optname
für den Socket
socket
gesetzt wurde.
socket
Ein gültiger Socket-Deskriptor, der von der Funktion socket_create() oder socket_accept() erzeugt wurde.
level
Der Parameter level
enthält die Protokollebene,
für die die Option gilt. Beispiel: Um Optionen auf der Socketebene
abzufragen würde level
den Wert SQL_SOCKET
enthalten. Andere Ebenen, etwa TCP, können abgefragt werden, indem man
die Protokollnummer dieser Ebene angibt. Protokollnummern können mit
einem Aufruf von getprotobyname() ermittelt werden.
optname
Option | Beschreibung | Typ |
---|---|---|
SO_DEBUG | Gibt an, ob Debug-Informationen mitgeschrieben wurden. | int |
SO_BROADCAST | Gibt an, ob die Übermittlung von Rundsende-Nachrichten unterstützt wird. | int |
SO_REUSEADDR | Gibt an, ob die lokale Adresse wiederverwendet werden kann. | int |
SO_KEEPALIVE | Gibt an, ob Verbindungen durch periodische Aussendungen von Nachrichten aufrecht erhalten werden. Falls der verbundene Socket nicht auf diese Nachrichten antworten kann, wird die Verbindung unterbrochen und Prozesse, die auf diesen Socket schreiben, erhalten ein SIGPIPE-Signal. | int |
SO_LINGER |
Gibt an, ob der Falls l_onoff von 0 verschieden und l_linger ist 0, werden bei einem verbindungsorientierten Socket alle noch nicht gesendeten Daten verworfen und das Signal RST (Reset) an die Gegenstelle gesendet. Andererseits, falls sowohl l_onoff als auch l_linger von 0 verschieden sind, blockiert der Aufruf von socket_close() den Socket so lange, bis entweder alle Daten gesendet sind oder das Zeitlimit erreicht ist, das in l_linger gesetzt wurde. Wenn der Socket auf nicht-blockieren gesetzt ist, schlägt socket_close() fehl und gibt einen Fehler zurück. |
array. Das Array enthält zwei Schlüssel: l_onoff and l_linger. |
SO_OOBINLINE |
Gibt an, ob socket die Übertragung von
bandexternen Daten in der Reihenfolge überträgt, wie sie auftreten.
|
int |
SO_SNDBUF | Gibt die Größe des Sendepuffers zurück. | int |
SO_RCVBUF | Gibt die Größe des Empfangspuffers zurück. | int |
SO_ERROR | Gibt den Fehlerstatus zurück und löscht ihn. | int (dieser Wert kann nicht von socket_set_option() gesetzt werden.) |
SO_TYPE |
Gibt den Typ von socket zurück (z. B.
SOCK_STREAM ).
|
int (dieser Wert kann nicht von socket_set_option() gesetzt werden.) |
SO_DONTROUTE | Gibt an, ob ausgehende Nachrichten das standardmässige Routing umgehen. | int |
SO_RCVLOWAT |
Gibt die Mindestanzahl Bytes an, die socket
bei einer Empfangsoperation verarbeiten soll. (Der Vorgabewert ist 1.)
|
int |
SO_RCVTIMEO | Gibt den Wert der Zeitspanne bis zu einer Zeitüberschreitung bei Empfangsoperationen an. | array. Das Array enthält zwei Schlüssel: sec, den Sekunden-Anteil der Zeitspanne und usec, den Mikrosekunden-Anteil der Zeitspanne bis zu einer Zeitüberschreitung. |
SO_SNDTIMEO | Gibt die Zeitspanne an, nach der eine Zeitüberschreitung bei Sendeoperationen ausgelöst wird. Eine Ausgabefunktion darf während der angegebenen Zeitspanne blockieren, falls die Ablaufsteuerung den Versand der Daten verhindert. | array. Das Array enthält zwei Schlüssel: sec den Sekunden-Anteil der Zeitspanne und usec den Mikrosekunden-Anteil der Zeitspanne bis zu einer Zeitüberschreitung. |
SO_SNDLOWAT |
Gibt die Mindestanzahl Bytes an, die socket
bei einer Ausgabeoperation verarbeiten soll.
|
int |
Gibt den Wert der angegebenen Option zurück oder FALSE
, falls ein Fehler auftrat..
Beispiel #1 socket_set_option()-Beispiel
<?php
$socket = socket_create_listen(1223);
$linger = array('l_linger' => 1, 'l_onoff' => 1);
socket_set_option($socket, SOL_SOCKET, SO_LINGER, $linger);
var_dump(socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR));
?>
Version | Beschreibung |
---|---|
4.3.0 | Der Name der Funktion wurde geändert. Sie ersetzt die bisherige Funktion socket_getopt(). |