socket_set_nonblock
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_set_nonblock — Define o modo sem bloqueio para o descritor de arquivo fd
Descrição
A função socket_set_nonblock() define o sinalizador
O_NONBLOCK
no soquete especificado pelo parâmetro
socket
.
Quando uma operação (ex.: receber, enviar, conectar, aceitar, ...) é executada em um soquete não bloqueante, o script não pausará sua execução até receber um sinal ou poder executar a operação. Em vez disso, se a operação resultar em um bloqueio, a função chamada falhará.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro socket agora espera uma instância de Socket;
anteriormente, um resource era esperado.
|
Exemplos
Example #1 Exemplo de socket_set_nonblock()
<?php
$socket = socket_create_listen(1223);
socket_set_nonblock($socket);
socket_accept($socket);
?>
Este exemplo cria um soquete de escuta em todas as interfaces na porta 1223 e
define o soquete para o modo O_NONBLOCK
.
socket_accept() falhará imediatamente, a menos que haja uma
conexão pendente exatamente neste momento.
Veja Também
- socket_set_block() - Define o modo de bloqueio em um soquete
- socket_set_option() - Define opções para o soquete
- stream_set_blocking() - Definir modo de bloqueio/não-bloqueio em um fluxo