PHP stream_socket_pair() 函数创建一对连接的、无法区分的套接字流。该函数常用于IPC(进程间通信)。
语法
stream_socket_pair(domain, type, protocol)
参数
domain | 必填。 指定要使用的协议族。它可以是以下之一:
|
type | 必填。 指定要使用的通信类型。它可以是以下之一:
|
protocol | 必需。 指定要使用的协议。它可以是以下之一:
|
返回值
返回一个成功时包含两个套接字资源的数组,失败时返回 false。
示例: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('could not fork');
} else if ($pid) {
//父级
fclose($sockets[0]);
fwrite($sockets[1], "child PID: $pid\n");
echo fgets($sockets[1]);
fclose($sockets[1]);
} else {
//子项
fclose($sockets[1]);
fwrite($sockets[0], "message from child\n");
echo fgets($sockets[0]);
fclose($sockets[0]);
}
?>
上述代码的输出将类似于:
child PID: 1378
message from child