Stream Функции
PHP Manual

stream_socket_pair

(PHP 5 >= 5.1.0)

stream_socket_pair Creates a pair of connected, indistinguishable socket streams

Описание

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).

Параметри

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

Забележка: Please consult the Streams constant list for further details on each constant.

Връщани стойности

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

Дневник на промените

Версия Описание
5.3.0 This function is now available on Windows platforms.

Примери

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


Stream Функции
PHP Manual