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

Der*_*rar 6 c# named-pipes

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

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

Ree*_*sey 10

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

(不幸的是,我无法追踪相应的MSDN页面以供参考,但是这个CPAN管道参考提到了这个限制.)

  • 实际上,这里有两个不同的选项,包括使用重叠的I / O,多线程或完成例程。MSDN具有出色的文档(包括所有3个选项),可以从此处处理来自单个服务器的多个客户端连接:http://msdn.microsoft.com/zh-cn/library/aa365594%28VS.85%29.aspx (2认同)

小智 9

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

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

因此,每个连接是1对1,就像套接字或其他流.