Named pipes are only used for communication between processors on the same computer. They do not provide any network capabilities. Consider that on your linux system you create a named pipe:
int pipe = mkfifo("fifo1", 0777);
When your program executes this, it will create a directory entry in the current working directory:
prwxr-xr-x 1 k5054 k5054 0 Feb 1 10:32 fifo1
You can now read/write to the file handle "pipe" in the current program and other programs, on the same system, may call
open()
on the file path and read/write to communicate with the first program.
Leaving aside any Windows/Linux issues, how then might a program running on another linux system access "fifo1" on the first system? You
might be able to do so if you are using a shared network filesystem (e.g. NFS of SAMBA), but otherwise there's no mechanism to reach across the network to open the named pipe (N.B I have not tried to read/write a pipe over NFS, so cannot confirm it will work).
To communicate between systems you would normally use IP sockets, either TCP or UDP. There are other network technologies out there, but by far the most widely used is IP. It's a lot more complex than simple interprocess communications, but there are any number of tutorials that google can find for you.