可以连接到命名管道的客户端数量

时间:2009-08-12 15:16:08

标签: c# named-pipes

假设服务器创建了命名管道“myTestPipe”。有多少客户可以连接到“myTestPipe”?从我在网上看到的内容来看,似乎只有一个客户可以,但想确保。

如果只有一个,那么最好使用阻塞WaitForConnection()而不是Asunchronous方法BeginWaitForConnection(),因为服务器会等到客户端进程连接然后进行通信?! (无需担心其他客户端连接)

2 个答案:

答案 0 :(得分:9)

您可以将多个客户端连接到同一个命名管道。在Windows上,我认为当前的限制是与单个命名管道的256个并发连接,包括服务器的连接。

(很遗憾,我无法追踪相应的MSDN网页以供参考,但此CPAN pipes reference提及此限制。)

答案 1 :(得分:9)

您实际上创建了一个管道并等待连接,当它连接时,创建第二个管道并等待它。

对于您创建并等待连接的每个管道,您最多只能获得一个连接(一次 - 如果它们是请求/响应/关闭样式,您可以回收它们。)

因此,每个连接都是1对1,就像套接字或其他流一样。