PHP 8.5.0 Alpha 1 available for testing

socket_listen

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

socket_listenEspera una conexión en un socket

Descripción

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

Una vez que el socket socket ha sido creado con la función socket_create() y vinculado a un nombre con la función socket_bind(), puede ponerse en espera de la conexión entrante.

socket_listen() solo funciona con sockets de tipo SOCK_STREAM y SOCK_SEQPACKET.

Parámetros

socket

Una instancia de Socket creada por socket_create() o socket_addrinfo_bind().

backlog

Un número máximo de backlog conexiones serán puestas en espera de procesamiento. Si una solicitud de conexión llega y la cola está llena, el cliente recibirá un error indicando ECONNREFUSED, o, si el protocolo de soporte acepta retransmisiones, la solicitud será ignorada para que los intentos posteriores finalmente tengan éxito.

Nota:

El número máximo pasado en el parámetro backlog depende principalmente de la plataforma de soporte. En Linux, se trunca automáticamente a SOMAXCONN. En Windows, si la constante SOMAXCONN es pasada, el servicio responsable de los sockets elegirá un valor máximo razonable. No hay método para adivinar el valor realmente elegido.

Valores devueltos

Esta función retorna true en caso de éxito o false si ocurre un error. El código de error generado puede obtenerse llamando a la función socket_last_error(). Este código de error puede pasarse a la función socket_strerror() para obtener un mensaje de error legible por humanos.

Historial de cambios

Versión Descripción
8.0.0 socket ahora es una instancia de Socket ; anteriormente, era un resource.

Ver también

add a note

User Contributed Notes 1 note

up
-5
renmengyang567 at gmail dot com
6 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