6

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

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

4

2 回答 2

10

您可以让多个客户端连接到同一个命名管道。在 Windows 上,我相信当前的限制是 256 个同时连接到单个命名管道,包括服务器的连接。

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

于 2009-08-12T15:20:31.520 回答
10

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

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

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

于 2009-11-06T20:49:37.267 回答