socket_listen
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_listen — Hört einen Socket nach Verbindungsanforderungen ab
Beschreibung
Nachdem der Socket socket
mit socket_create()
erzeugt und mit socket_bind() mit einem Namen verknüpft
wurde, wird er angewiesen, nach hereinkommenden Verbindungsanforderungen
an dem Socket socket
zu horchen.
socket_listen() kann nur zusammen mit Sockets vom Typ
SOCK_STREAM
oder SOCK_SEQPACKET
verwendet werden.
Parameter-Liste
-
socket
-
Eine Socket-Instanz, die mit socket_create() oder socket_addrinfo_bind() erzeugt wurde.
-
backlog
-
Maximal werden
backlog
hereinkommende Verbindungsanforderungen zur späteren Verarbeitung in die Warteschlange gestellt. Falls eine Verbindungsanforderung ankommt, wenn die Warteschlange voll ist, bekommt der Client eine Fehlermeldung mit dem HinweisECONNREFUSED
. Oder, falls das zugrundeliegende Protokoll eine wiederholte Übertragung unterstützt, wird die Anforderung ignoriert, so dass weitere Verbindungsversuche möglicherweise erfolgreich sind.Hinweis:
Die maximale Anzahl der im Parameter
backlog
angegebenen Einträge der Warteschlange hängt entscheidend vom darunterliegenden Betriebssystem ab. Auf Linux-Systemen wird die Zahl stillschweigend aufSOMAXCONN
begrenzt. Wenn auf Win32-SystemenSOMAXCONN
gesetzt ist, ist der Dienstanbieter verantwortlich für den Socket und muss die Warteschlange auf einen vernünftigen Maximalwert begrenzen. Es gibt für diese Systeme keine standardmäßige Möglichkeit, den aktuellen Wert herauszufinden.
Rückgabewerte
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben. Der Fehlercode kann mit der Funktion
socket_last_error() abgefragt werden. Dieser
Fehlercode kann an die Funktion socket_strerror()
übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.
Changelog
Version | Beschreibung |
---|---|
8.0.0 |
socket ist nun eine
Socket-Instanz; vorher war es eine
resource.
|
Siehe auch
- socket_accept() - Akzeptiert eine Verbindung an einem Socket
- socket_bind() - Verknüpft einen Socket mit einem Namen
- socket_connect() - Baut eine Verbindung über einen Socket auf
- socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)
- socket_strerror() - Gibt einen String zurück, der einen Socket-Fehler beschreibt
- socket_addrinfo_bind() - Create and bind to a socket from a given addrinfo