0
我有一个连接到命名管道的客户端。很多时候,这个命名管道并不存在,因此客户端连接失败。客户端应尽快连接到管道,因为有时服务器会向连接的客户端发送命令,有时客户端会通知服务器它的状态。如何无限期地等待命名管道的创建?
有没有办法等待无限期地命名管道创建? 基本上我想避免连续呼叫连接/睡眠需要CPU时间。理想的解决方案是避免创建线程。
有一个函数WaitNamedPipe
但它实际上等待管道可用,如果它不存在,它立即返回。我相信这就是为什么NamedPipeClientStream.Connect
没有指定超时时立即返回。
是否有任何其他IPC适合这个目标?
如果客户端和服务器在不同的机器上?命名管道可以通过网络使用。命名的内核对象,如事件,不能。 –
@RemyLebeau对IPC的引用使我认为管道在同一台机器上 –
并非所有的IPC都限于本地机器。最值得注意的是,管道,邮筒,插座等。 –