socket_set_nonblock

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

socket_set_nonblockEstablece el modo de no-bloqueo para el descriptor de archivo fd

Descripción

socket_set_nonblock ( resource $socket ) : bool

La funciòn socket_set_nonblock() establece la bandera O_NONBLOCK en el socket especificado por el parámetro socket.

Cuando una operación (p.ej. recibir, enviar, conectar, aceptar, ...) se lleva a cabo sobre un socket de no-bloqueo, el script no pausará su ejecución hasta que reciba una señal o pueda realizar la operación. Más bien, si la operacion resultaría en un bloqueo, la llamada a la función fallará.

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de socket_set_nonblock()

<?php
$socket 
socket_create_listen(1223);
socket_set_nonblock($socket);

socket_accept($socket);
?>

Este ejemplo crea un socket de escucha en todas las interfaces en el puerto 1223 y establece el socket al modo O_NONBLOCK. socket_accept() fallará inmediantamente a menos que haya una conexión pendiente en ese preciso momento.

Ver también