(PHP 5 >= 5.1.0)
stream_socket_pair — Crea un par de secuencias de socket conectados e indistinguibles
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).
La familia de protocolo a usar: STREAM_PF_INET, STREAM_PF_INET6 oo STREAM_PF_UNIX
El tipo de comunicación a usar: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET o STREAM_SOCK_STREAM
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.
Devuelve un valor tipo array con los dos recursos de socket en caso de éxito, o FALSE si ocurre un error.
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