如果没有人连接到网络,如何使用命名管道而不挂起计算机

本文关键字:管道 计算机 挂起 何使用 没有人 如果没有 连接 网络 如果 | 更新日期: 2023-09-27 18:09:40

我正在寻找一种在同一台计算机上的程序之间进行通信的方法,并已被称为命名管道。

似乎连接服务器的唯一方法是WaitForConnection(我不知道如何使用非托管代码)。但是如果没有人连接到网络,程序就会无限期地挂起。如何使用超时限制建立连接?

谢谢。

如果没有人连接到网络,如何使用命名管道而不挂起计算机

对于非阻塞服务器,调用BeginWaitForConnection/EndWaitForConnection而不是调用同步WaitForConnection方法。参见这里的获得类似的答案。

你想要的构造函数是有5个参数的这里的。你可以这样调用它:

NamedPipeServerStream pipeServer = new NamedPipeServerStream(
   "<pipe-name>", 
   PipeDirection.InOut, 
   1, 
   PipeTransmissionMode.Byte, 
   PipeOptions.Asynchronous);