stream_socket_pair
    (PHP 5 >= 5.1.0RC1)
stream_socket_pair -- 
   接続された、区別できないソケットストリームの組を作成する
  
説明
array 
stream_socket_pair ( int domain, int type, int protocol )
   stream_socket_pair() は、互いに接続されており区別できない
   ソケットストリームの組を作成します。この関数は、一般に IPC
   (Inter-Process Communication: プロセス間通信)で使用します。
  
パラメータ
   
- domain
 
       使用するプロトコルファミリー。STREAM_PF_INET、
       STREAM_PF_INET6 あるいは
       STREAM_PF_UNIX
      
- type
 
       使用する接続の型。
       STREAM_SOCK_DGRAM、
       STREAM_SOCK_RAW、
       STREAM_SOCK_RDM、
       STREAM_SOCK_SEQPACKET あるいは
       STREAM_SOCK_STREAM
      
- protocol
 
       使用するプロトコル。STREAM_IPPROTO_ICMP、
       STREAM_IPPROTO_IP、
       STREAM_IPPROTO_RAW、
       STREAM_IPPROTO_TCP あるいは
       STREAM_IPPROTO_UDP
      
 
  返り値
   成功した場合に 2 つのソケットリソースの配列、失敗した場合に FALSE を返します。
  
例
   
例 1. stream_socket_pair() の例 
     この例では、プロセス間通信に
     stream_socket_pair() を使用する基本的な方法を示します。
     
<?php
  $sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP); $pid     = pcntl_fork();
  if ($pid == -1) {      die('フォークできません');
  } else if ($pid) {      /* 親プロセス */     fclose($sockets[0]);
      fwrite($sockets[1], "子プロセスの PID: $pid\n");     echo fgets($sockets[1]);
      fclose($sockets[1]);
  } else {     /* 子プロセス */     fclose($sockets[1]);
      fwrite($sockets[0], "子プロセスからのメッセージ\n");     echo fgets($sockets[0]);
      fclose($sockets[0]); }
  ?>
 |  
 上の例の出力は、たとえば
以下のようになります。 子プロセスの PID: 1378
子プロセスからのメッセージ  |  
  |