(PHP 4 >= 4.1.0, PHP 5, PHP 7)
socket_set_nonblock — Establece el modo de no-bloqueo para el descriptor de archivo fd
$socket
)
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á.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
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.