# 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

socket_set_nonblock(Socket `$socket`): bool

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.

### Parameter-Liste

`socket`

  Eine Socket-Instanz, die mit socket_create() oder socket_accept() erzeugt wurde.

### 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_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.

### Siehe auch

- socket_set_block() - Setzt einen Socket auf den blockieren-Modus
- socket_set_option() - Setzt die Optionen für einen Socket
- stream_set_blocking() - Set blocking/non-blocking mode on a stream

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open