stream_socket_pair
    (PHP 5 >= 5.1.0RC1)
stream_socket_pair -- 
   Creates a pair of connected, indistinguishable socket streams
  
Description
array 
stream_socket_pair ( int domain, int type, int protocol )
   stream_socket_pair() creates a pair of connected,
   indistinguishable socket streams. This function is commonly used in IPC
   (Inter-Process Communication).     
  
Parameters
   
- domain
 
       The protocol family to be used: STREAM_PF_INET,
       STREAM_PF_INET6 or
       STREAM_PF_UNIX
      
- type
 
       The type of communication to be used:
       STREAM_SOCK_DGRAM,
       STREAM_SOCK_RAW,
       STREAM_SOCK_RDM,
       STREAM_SOCK_SEQPACKET or
       STREAM_SOCK_STREAM
      
- protocol
 
       The protocol to be used: STREAM_IPPROTO_ICMP,
       STREAM_IPPROTO_IP,
       STREAM_IPPROTO_RAW,
       STREAM_IPPROTO_TCP or
       STREAM_IPPROTO_UDP       
      
 
  Return Values
   Returns an array with the two socket resources on success, or
   FALSE on failure.
  
Examples
   
Example 1. A stream_socket_pair() example 
     This example shows the basic usage of
     stream_socket_pair() in Inter-Process Comunication.
     
<?php
  $sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP); $pid     = pcntl_fork();
  if ($pid == -1) {      die('could not fork');
  } else if ($pid) {      /* parent */     fclose($sockets[0]);
      fwrite($sockets[1], "child PID: $pid\n");     echo fgets($sockets[1]);
      fclose($sockets[1]);
  } else {     /* child */     fclose($sockets[1]);
      fwrite($sockets[0], "message from child\n");     echo fgets($sockets[0]);
      fclose($sockets[0]); }
  ?>
 |  
 The above example will output 
something similar to: child PID: 1378
message from child  |  
  |