Межпроцессное взаимодействие с использованием именованных каналов в C # + PHP

Межпроцессное общение с использованием именованных каналов на C # является простым, но я не совсем уверен, как это сделать в php, или если это возможно. поэтому у меня есть следующие вопросы:

  1. Являются ли названные каналы возможными в php?
  2. Возможно ли иметь клиент C # с именем pipe, подключиться к серверу имен php с именем pipe?
  3. как бы я это сделал? 🙂

ответ на любой из вышеуказанных вопросов был бы так полезен .. спасибо 🙂

edit: это отдельная программа php, а не веб-приложение.

edit2: Именованный канал pipe может быть на стороне C # или стороне PHP, это не имеет значения. Я сделал примеры C # для обоих. Но я не знаю, с чего начать для php

Можете ли вы использовать сокеты? Почему это должна быть труба?

Похоже, PHP имеет много для сокетов: http://us3.php.net/sockets

Функции потока:
http://php.net/manual/en/ref.stream.php

Ты видел это?
PHP и именованные каналы: http://my.opera.com/zomg/blog/2007/08/29/php-and-named-pipes

<?php //Open pipe and write some text to it. //Mode must be r+ or fopen will get stuck. $pipe = fopen('testpipe','r+'); fwrite($pipe,'this is some text'); fclose($pipe); ?> 

posix_mkfifo:
http://www.phpbuilder.com/manual/function.posix-mkfifo.php

EDIT Я предполагаю, что вы находитесь на окнах (C #), чтобы они не работали.

Если он уже создан, вы можете открыть именованный канал в виде файла с помощью функции fopen PHP.

В окнах путь к файлу «файл» выглядит как «\\. \ Pipe \ pipe_name», однако в PHP есть открытая проблема, которая мешает этому работать. Обходным путем является использование имени компьютера вместо точки в пути:

 $name = php_uname('n'); $pipe = fopen("\\\\" . $strComputername . "\\pipe\\pipe_name", "r+"); 

Хотя я голосую за сокеты, как рекомендовал Томми, они легки, кросс-платформенны и могут взаимодействовать друг с другом в случае необходимости.