PHP和C之间的FIFOS


FIFOS between PHP and C

我想使用FIFOS与2个进程进行通信。一个过程是用C编写的,另一个是用PHP编写的。问题是,如果我使用FIFOS,写入程序会阻塞,直到读取器打开FIFO,而在另一个方向上也是如此。我解释得更好,我有一个接收xml请求的PHP进程。PHP获取xml并将其发送到FIFO1(与C进程协作)。C进程读取FIFO1,获取xml做一些事情,并将响应发送到FIFO2(与PHP连接)。我想在非街区做这件事。我的意思是,如果PHP进程不能从FIFO2读取任何内容,它就不会阻塞,同时可以接收xml请求。如果有人感兴趣,我可以在这里发布我的代码。

谢谢;)。

您可以在PHP中将流设置为非阻塞。

$resource = fopen('...', 'r');
stream_set_blocking($resource, 0);