我是使用管道的IPC的新手,并且我不熟悉常用模式。这是我必须处理的设置:有一个客户端进程将工作分配给n个服务器进程。完成后,服务器必须将其结果发送回服务器。从一开始就知道必须分发的工作量。使用命名管道的n个工作进程的通信模式
Client
|__Pipe 1_____ Server 1
|
|__Pipe 2_____ Server 2
|
|__ ...
这里我的想法,如何处理这样的:服务器开始一个命令行参数确定启动时,他们应当创造了管道的名称。客户然后写入这些管道以分配工作。当服务器完成他们的工作时,他们将他们的结果写入他们接受工作的管道中。客户端用n个线程等待来自服务器的结果。当所有结果到达时,部分结果被汇总。
您认为这有意义吗?你会发现在一个方向上使用单一管道的好处吗?你将如何同步访问?你有阅读这个话题的提示吗?
原来这很容易。客户端只需连接到下一个免费服务器并打开自己的管道实例。所以使用单个管道就够了。也http://stackoverflow.com/questions/4570653/multithreaded-namepipeserver-in-c-sharp见。 – h0b0 2011-12-21 11:00:22