FIFOS между PHP и C
Я хочу сообщить 2 процесса, используя FIFOS. Один процесс пишет на C, а другой на PHP. Проблема в том, что если я использую FIFOS, устройство записи блокируется, пока читатель не откроет FIFO, и то же самое в другом направлении. Я объясняю это лучше, у меня есть процесс PHP, который получает запрос XML. PHP берет XML и отправляет его в FIFO1(взаимодействует с процессом C). Процесс C читает FIFO1, принимает xml, делает что-то и отправляет ответ в FIFO2(соединение с PHP). Я хочу сделать это без блокировки. Я имею в виду, что если процесс PHP не может прочитать что-либо из FIFO2, он не блокируется, и тем временем он может получить запрос XML. Если есть кто-то заинтересованный, я могу опубликовать свой код здесь.
Спасибо;).
1 ответ
Вы можете установить поток, чтобы неблокировать в PHP.
$resource = fopen('...', 'r');
stream_set_blocking($resource, 0);