2009-11-15 80 views
3

嗨,我有幾個關於使用命名管道的問題。首先,當試圖設置管道服務器時,我注意到如果我使用下面的代碼..在第一個客戶端連接服務器變得不可用時,除非我在一段時間內包裝整個事件(true)塊。我做對了嗎?或者是每個服務器只應該被激活一次然後死掉?其次,我也不得不在自己的線程上分離服務器 - 如果我不這樣做,我的應用程序將不會變得可用。這是正常的嗎?我做對了嗎?我以爲我讀的引擎蓋下namedpipeserverstream爲自己創建自己的線程,但我不能看到這種情況..2關於命名管道的問題

謝謝!

回答

3

是的,對於命名管道,您需要爲下一個客戶端創建新的服務器實例以便能夠連接。通常所做的事情(至少在同步編程中)是等待連接,然後產生一個新線程來處理客戶端,原始線程循環返回以創建新服務器。

至於線程,即使對象在幕後創建了一個線程(我懷疑它),它並沒有解決你寫的代碼是同步的,因此需要在它自己的線程中無論如何。