stream_socket_pair
(PHP 5 >= 5.1.0)
stream_socket_pair — Crea un par de secuencias de socket conectados e indistinguibles
Descripción
stream_socket_pair() crea un par de secuencias de socket conectados e indistinguibles. Esta función es usada comúnmente en Comunicación Inter-Procesos (IPC por sus siglas en inglés).
Lista de parámetros
- dominio
-
La familia de protocolo a usar: STREAM_PF_INET, STREAM_PF_INET6 oo STREAM_PF_UNIX
- tipo
-
El tipo de comunicación a usar: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET o STREAM_SOCK_STREAM
- protocolo
-
El protocolo a usar: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP o STREAM_IPPROTO_UDP
Note: Por favor consulte la Lista de constantes de secuencias para más detalles sobre cada constante.
Valores retornados
Devuelve un valor tipo array con los dos recursos de socket en caso de éxito, o FALSE si ocurre un error.
Ejemplos
Example#1 Un ejemplo de stream_socket_pair()
Este ejemplo muestra el uso básico de stream_socket_pair() en Comunicación Inter-Procesos.
<?php
$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid = pcntl_fork();
if ($pid == -1) {
die('no se pudo 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 desde el hijo\n");
echo fgets($sockets[0]);
fclose($sockets[0]);
}
?>
El resultado del ejemplo seria algo similar a:
PID hijo: 1378 mensaje desde el hijo