Interprocess Communication using Named Pipes in C# is easy, but im not exactly sure how to do this in php, or if its even possible. so i have these questions:
- Is named pipes possible in php?
- Is it possible to have a C# named pipe client, connect to a php named pipe server?
- how the heck would i code that? :)
an answer to any of the above questions would be so helpful.. thanks :)
edit: Its a stand alone php program, not a web-based app.
edit2: The named pipe server can be in the C# side, or the PHP side, it doesnt matter. I have made C# examples for both.. but i dont know where to start for php
Can you use sockets? Why does it have to be a pipe?
Looks like PHP has lots for sockets:
http://us3.php.net/sockets
Stream Functions:
http://php.net/manual/en/ref.stream.php
Did you see this?
PHP and named pipes: 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 I am assuming you are on windows (C#) so that may not work....
If it is already created then you can open a named pipe as a file using PHP's fopen
function.
In windows the pipe "file" path looks like "\\.\pipe\pipe_name", however there is an open issue in PHP which prevents this from working. The workaround is to use the computer's name instead of the dot in the path:
$name = php_uname('n');
$pipe = fopen("\\\\" . $strComputername . "\\pipe\\pipe_name", "r+");
Though I vote for sockets like Tommy recommended, they're easy, cross-platform, and inter-machine if need be.