# socket_set_nonblock

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_set_nonblock — Sélectionne le mode non bloquant d'un pointeur de fichier

### Description

socket_set_nonblock(Socket `$socket`): bool

La fonction socket_set_nonblock() configure l'option `O_NONBLOCK` pour le socket spécifié par le paramètre `socket`.

Lorsqu'une opération (e.g. réception, envoie, connexion, acceptation, ...) est effectuée sur un socket non-bloquant, le script ne se met pas en pause tant qu'elle reçoit un signal. Au lieu de cela, si l'opération doit résulter en un blocage, la fonction appelée échouera.

### Liste de paramètres

`socket`

  Une instance de Socket créée par socket_create() ou socket_accept().

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

### Historique

Version | Description
--- | ---
8.0.0 | `socket` est désormais une instance de Socket ; auparavant, c'était une resource.

### Exemples

Exemple #1 Exemple avec socket_set_nonblock()

`<?php
$socket = socket_create_listen(1223);
socket_set_nonblock($socket);
socket_accept($socket);
?>`

Cet exemple crée un socket écoutant toutes les interfaces sur port 1223 et définit le socket en mode `O_NONBLOCK`. socket_accept() échouera immédiatement s'il y a une connexion en attente exactement à ce moment là.

### Voir aussi

- socket_set_block() - Met le socket en mode bloquant
- socket_set_option() - Modifie les options de socket
- stream_set_blocking() - Configure le mode bloquant d'un flux