PHP.nl

stream_socket_pair

stream_socket_pair

Creates a pair of connected, indistinguishable socket streams

 **stream_socket_pair** int $domain int $type int $protocol
creates a pair of connected,

indistinguishable socket streams. This function is commonly used in IPC (Inter-Process Communication).
stream_socket_pair

domain The protocol family to be used: , or

  `STREAM_PF_INET``STREAM_PF_INET6``STREAM_PF_UNIX`

type The type of communication to be used: , , , or

  `STREAM_SOCK_DGRAM``STREAM_SOCK_RAW``STREAM_SOCK_RDM``STREAM_SOCK_SEQPACKET``STREAM_SOCK_STREAM`

protocol The protocol to be used: , , , or

  `STREAM_IPPROTO_ICMP``STREAM_IPPROTO_IP``STREAM_IPPROTO_RAW``STREAM_IPPROTO_TCP``STREAM_IPPROTO_UDP`

Opmerking: > Please consult the for further details on each constant. Streams constant list

Returns an with the two socket resources on success, or false on failure. array

Voorbeeld: A example

 This example shows the basic usage of
  in Inter-Process Communication.
`stream_socket_pair`
<?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]);
}

?>
child PID: 1378
message from child