0
我有一個連接到命名管道的客戶端。很多時候,這個命名管道並不存在,因此客戶端連接失敗。客戶端應儘快連接到管道,因爲有時服務器會向連接的客戶端發送命令,有時客戶端會通知服務器它的狀態。如何無限期地等待命名管道的創建?
有沒有辦法等待無限期地命名管道創建? 基本上我想避免連續呼叫連接/睡眠需要CPU時間。理想的解決方案是避免創建線程。
有一個函數WaitNamedPipe
但它實際上等待管道可用,如果它不存在,它立即返回。我相信這就是爲什麼NamedPipeClientStream.Connect
沒有指定超時時立即返回。
是否有任何其他IPC適合這個目標?
如果客戶端和服務器在不同的機器上?命名管道可以通過網絡使用。命名的內核對象,如事件,不能。 –
@RemyLebeau對IPC的引用使我認爲管道在同一臺機器上 –
並非所有的IPC都限於本地機器。最值得注意的是,管道,郵筒,插座等。 –