<?php
// Server-side
$pipe_to_server = $argv[1]; // '/tmp/my_pipe_to_server';
$pipe_from_server = $argv[2]; // 'tmp/my_pipe_from_server';
// Open pipe for reading from client
$read_handle = fopen($pipe_to_server, 'r');
if (!$read_handle) {
die("Failed to open pipe for reading.\n");
}
// Open pipe for writing to client
$write_handle = fopen($pipe_from_server, 'w');
if (!$write_handle) {
die("Failed to open pipe for writing.\n");
}
echo "Server ready.\n";
// Read from client
while (!feof($read_handle)) {
$message = trim(fgets($read_handle));
if ($message === 'exit') {
break;
}
echo "Server received: " . $message . "\n";
// Write a response back to the client
fwrite($write_handle, "Server acknowledges: " . $message . "\n");
}
fclose($read_handle);
fclose($write_handle);
echo "Server closed.\n";
?>