问题
Say a server created a named pipe "myTestPipe". How many clients can connect to "myTestPipe"? From what I have read on the Web, it seems only one client can, but wanted to make sure.
If only one, then it's best to use the blocking WaitForConnection() instead of the Asunchronous method BeginWaitForConnection() as the server will wait until a client process connects and then do the communication?! (no need to worry about other clients to connect)
回答1:
You can have more than one client connect to the same named pipe. On Windows, I believe the current limitation is 256 simultaneous connections to a single named pipe, including the server's connection.
(Unfortunately, I can't track down the appropriate MSDN page for reference, but this CPAN pipes reference mentions this limitation.)
回答2:
You actually create one pipe and wait for a connection, and when it connects, create a second one and wait on it.
For each pipe you create and wait for connection on, you get at most one connection (at a time - you can recycle them if they are request/response/close style).
Thus, each connection is 1-to-1, like a socket or other stream.
来源:https://stackoverflow.com/questions/1266849/number-of-clients-that-can-connect-to-a-named-pipe