您的位置 首页 php

71、php stream实现进程间通信

stream实现 进程间通信 主要是通过stream_socket_pair这个函数

1、stream_socket_pair函数说明

2、案例1

单进程通信

2.1、源码

<?php

/**

* Copyright (C) Iamasb

* @project : 3、workerman相关知识点

* @explain : stream实现进程间通信

* @filename : 38、stream实现进程间通信.php

* @author : xiaobei 2801616735@qq.com

*/

$ sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);

fwrite($sockets[1],”hello world\n”);

echo fgets($sockets[0]);

fwrite($sockets[0],”receive msg.\n”);

echo fgets ($sockets[1]);

2.2、测试结果

3、案例2

多进程通信

3.1、源码

<?php

/**

* Copyright (C) Iamasb

* @project : 3、workerman相关知识点

* @explain : stream实现进程间通信

* @filename : 38、stream实现进程间通信.php

* @author : xiaobei 2801616735@qq.com

*/

$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[1]);

fwrite($sockets[0], “child PID: $pid\n”);

echo “parent->”.fgets($sockets[0]);

fclose($sockets[0]);

} else {

/* child */

fclose($sockets[0]);

echo “child->”.fgets($sockets[1]);

fwrite($sockets[1], “message from child\n”);

fclose($sockets[1]);

}

3.2、测试结果

文章来源:智云一二三科技

文章标题:71、php stream实现进程间通信

文章地址:https://www.zhihuclub.com/79342.shtml

关于作者: 智云科技

热门文章

网站地图