I am currently learning about named pipes in Windows using ASP.NET 3.5 and C#. I wrote a small server program which creates a named pipe:
using (NamedPipeServerStream pipeStream = new NamedPipeServerStream(pipeName))
{
pipeStream.WaitForConnection();
// do sth.
}
and a client application opening the pipe like this:
using (NamedPipeClientStream pipeStream = new NamedPipeClientStream(pipeName))
{
pipeStream.Connect();
// do sth.
}
This works great as long as only one client connects to the pipe. It can both read and write. If I try to connect a second client, the code never exceeds the line
pipeStream.Connect();
Both the server and all clients are running on the same machine. Any ideas?
Thank you very much in advance!
you can look up some of the info here: Number of Clients that can connect to a Named Pipe
and here in MSDN: http://msdn.microsoft.com/en-us/library/aa365594%28VS.85%29.aspx
from what i understand, you should create a multi-threaded application. main thread should be responsible for the future connections, and each new connection should be launched in new thread.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With