PHP 8.4.1 Released!

socket_set_block

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

socket_set_blockMet le socket en mode bloquant

Description

socket_set_block(Socket $socket): bool

socket_set_block() supprime l'option O_NONBLOCK de le socket spécifié par 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_block()

<?php
$socket
= socket_create_listen(1223);
socket_set_block($socket);

socket_accept($socket);
?>

Cet exemple crée un socket écoutant toutes les interfaces du port 1223 et définit le socket en mode O_BLOCK. socket_accept() patientera tant qu'il y aura une connexion à accepter.

Voir aussi

add a note

User Contributed Notes 1 note

up
2
laacz at laacz dot lv
9 years ago
Besides true and false socket_set_block might return NULL if you're not too careful. That would happen when passing non socket resource as first parameter.

E.g. socket_set_block(false)) would return NULL and emit warning that you're trying to do things with non-socket.
To Top