首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[函数]stream_socket_pair()函数—用法及示例

发布于 2025-05-08 18:54:45
0
6

函数名称: stream_socket_pair()

函数描述: stream_socket_pair() 函数创建一对相互连接的流套接字,用于进程间通信。

适用版本: PHP 5 >= 5.1.0, PHP 7

语法: stream_socket_pair(int $domain, int $type, int $protocol)

参数:

  • $domain: 套接字的域(可以是 AF_INET,AF_INET6,AF_UNIX 或 AF_INET6)
  • $type: 套接字的类型(可以是 SOCK_STREAM 或 SOCK_DGRAM)
  • $protocol: 套接字的协议(可以是 SOL_TCP 或 SOL_UDP)

返回值:

  • 如果成功,则返回包含两个连接的数组,如果失败,则返回 FALSE。

示例:

// 创建流套接字对
$sockets = stream_socket_pair(AF_UNIX, SOCK_STREAM, 0);

if ($sockets === false) {
    echo "创建流套接字对失败";
    exit;
}

// 在父进程中写入数据到套接字
$data = "Hello child process!";
fwrite($sockets[0], $data);

// 在子进程中读取套接字中的数据
$receivedData = fread($sockets[1], strlen($data));

// 输出从父进程传递给子进程的数据
echo $receivedData;

// 关闭套接字
fclose($sockets[0]);
fclose($sockets[1]);

在上面的示例中,我们首先使用 stream_socket_pair() 函数创建了一对流套接字。然后,我们在父进程中向套接字写入数据,并在子进程中从套接字中读取数据。最后,我们输出从父进程传递给子进程的数据,并关闭套接字。

请注意,stream_socket_pair() 函数只能在支持套接字的操作系统上使用,如 Linux 或 Unix。

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

8926

帖子

29

小组

2863

积分

站长交流