PHP 8.5.0 Alpha 1 available for testing

stream_socket_pair

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_socket_pair Crea un par de sockets conectados e inseparables

Descripción

stream_socket_pair(int $domain, int $type, int $protocol): array|false

stream_socket_pair() crea un par de sockets conectados e inseparables. Esta función se utiliza comúnmente en IPC (InterProcess Communication).

Parámetros

domain

La familia de protocolo a utilizar: STREAM_PF_INET, STREAM_PF_INET6 o STREAM_PF_UNIX

type

El tipo de comunicación a utilizar: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET o STREAM_SOCK_STREAM

protocol

El protocolo a utilizar: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP o STREAM_IPPROTO_UDP

Nota: Consulte la lista de constantes de flujo para más detalles sobre cada constante.

Valores devueltos

Devuelve un tableau que contiene los recursos de los dos sockets en caso de éxito, o false en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo con stream_socket_pair()

Este ejemplo muestra un uso básico de stream_socket_pair() en una comunicación interprocesos.

<?php

$sockets
= stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid = pcntl_fork();

if (
$pid == -1) {
die(
'Imposible bifurcar');

} else if (
$pid) {
/* padre */
fclose($sockets[0]);

fwrite($sockets[1], "PID hijo: $pid\n");
echo
fgets($sockets[1]);

fclose($sockets[1]);

} else {
/* hijo */
fclose($sockets[1]);

fwrite($sockets[0], "mensaje del hijo\n");
echo
fgets($sockets[0]);

fclose($sockets[0]);
}

?>

El resultado del ejemplo sería algo similar a:

PID hijo: 1378
mensaje del hijo

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top