socket_listen

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

socket_listenEscuta uma conexão em um soquete

Descrição

socket_listen(Socket $socket, int $backlog = 0): bool

Após o soquete socket ter sido criado usando socket_create() e vinculado a um nome com socket_bind(), ele pode ser instruído a escutar conexões de entrada no socket.

socket_listen() é aplicável somente a soquetes do tipo SOCK_STREAM ou SOCK_SEQPACKET.

Parâmetros

socket

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

backlog

O parâmetro backlog (passivo) define um máximo de conexões de entrada que serão enfileiradas para processamento. Se uma solicitação de conexão chegar com a fila cheia, o cliente poderá receber um erro com uma indicação de ECONNREFUSED ou, se o protocolo subjacente suportar retransmissão, a solicitação poderá ser ignorada para que novas tentativas possam ser bem-sucedidas.

Nota:

O número máximo passado para o parâmetro backlog depende muito da plataforma subjacente. No Linux, ele é truncado silenciosamente para SOMAXCONN. No win32, se for passado SOMAXCONN, o provedor de serviços subjacente responsável pelo soquete definirá o passivo para um valor máximo razoável. Não há nenhuma provisão padrão para descobrir o valor real do passivo nesta plataforma.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. O código de erro pode ser recuperado com socket_last_error(). Este código pode ser passado para socket_strerror() para obter uma explicação textual do erro.

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.

Veja Também

add a note

User Contributed Notes 1 note

up
-2
renmengyang567 at gmail dot com
5 years ago
<?php
// create for tcp
$sock = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
socket_bind($sock, '127.0.0.1',5000);
socket_listen($sock,1);
sleep(20);
?>

<fruit>
netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:5000 0.0.0.0:* LISTEN 1839/php
To Top