(PHP 4 >= 4.1.0, PHP 5, PHP 7)
socket_set_nonblock — Setzt den nonblocking-Modus für den Datei-Deskriptor fd
$socket
)
Die Funktion socket_set_nonblock() setzt das Flag
O_NONBLOCK
für den Socket socket
.
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.
socket
Ein gültiger Socket-Deskriptor, der von socket_create() oder socket_accept() erzeugt wurde.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
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.