socket_set_nonblock
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_set_nonblock — Setzt den nonblocking-Modus für den Dateideskriptor fd
Beschreibung
Wenn eine Operation (etwa empfangen, senden, verbinden, akzeptieren, ...)
an einem nicht-blockierenden Socket ausgeführt wird, wird die Ausführung
des Skripts so lange nicht unterbrochen, bis es ein Signal erhält oder die
Operation ausgeführt ist. Wenn allerdings die Operation zu einer
Blockierung führen würde, schlägt die aufgerufene Funktion fehl.
Rückgabewerte
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Beispiele
Beispiel #1 socket_set_nonblock()-Beispiel
<?php
$socket = socket_create_listen(1223);
socket_set_nonblock($socket);
socket_accept($socket);
?>
In diesem Beispiel wird ein Socket für alle Schnittstellen erzeugt, der
den Port 1223 abhört und der in den O_NONBLOCK
-Modus
versetzt wird. socket_accept() schlägt sofort fehl, es
sei denn, es gibt exakt in diesem Moment eine wartende Verbindung.