2009-11-15 110 views
3

嗨,我有几个关于使用命名管道的问题。首先,当试图设置管道服务器时,我注意到如果我使用下面的代码..在第一个客户端连接服务器变得不可用时,除非我在一段时间内包装整个事件(true)块。我做对了吗?或者是每个服务器只应该被激活一次然后死掉?其次,我也不得不在自己的线程上分离服务器 - 如果我不这样做,我的应用程序将不会变得可用。这是正常的吗?我做对了吗?我以为我读的引擎盖下namedpipeserverstream为自己创建自己的线程,但我不能看到这种情况..2关于命名管道的问题

谢谢!

回答

3

是的,对于命名管道,您需要为下一个客户端创建新的服务器实例以便能够连接。通常所做的事情(至少在同步编程中)是等待连接,然后产生一个新线程来处理客户端,原始线程循环返回以创建新服务器。

至于线程,即使对象在幕后创建了一个线程(我怀疑它),它并没有解决你写的代码是同步的,因此需要在它自己的线程中无论如何。