Forum und email

stream_socket_pair

(PHP 5 >= 5.1.0)

stream_socket_pair — Crea un par de secuencias de socket conectados e indistinguibles

Descripción

array stream_socket_pair ( int $dominio , int $tipo , int $protocolo )

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_UNIXSTREAM_SOCK_STREAMSTREAM_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