Define o modo sem bloqueio para o descritor de arquivo fd

# 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

function socket_set_nonblock(Socket `$socket`): bool

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á.

### Parâmetros

`socket`

  Uma instância de Socket criada com socket_create() ou socket_accept().

### Valor Retornado

Retorna `true` em caso de sucesso ou `false` em caso de falha.

### 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

Exemplo #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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open