stream_socket_pair

stream_socket_pair

(PHP 5 >= 5.1.0RC1)

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

Nota: 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

Ejemplo 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