C# 如果没有人连接到网络,如何在不挂起计算机的情况下使用命名管道?

C# 如果没有人连接到网络,如何在不挂起计算机的情况下使用命名管道?,c#,named-pipes,C#,Named Pipes,我正在寻找一种在同一台计算机上的程序之间进行通信的方法,并被称为命名管道 似乎连接服务器的唯一方法是通过WaitForConnection(我不知道如何使用非托管代码)。但如果没有人连接到网络,程序将无限期挂起。如何建立具有超时限制的连接 谢谢。对于非阻塞服务器,请调用BeginWaitForConnection/EndWaitForConnection,而不是调用同步WaitForConnection方法。请参阅以获得类似的答案 您想要的构造函数是具有5个参数的构造函数。你可以这样称呼它: N

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

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


谢谢。

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

您想要的构造函数是具有5个参数的构造函数。你可以这样称呼它:

NamedPipeServerStream pipeServer = new NamedPipeServerStream(
   "<pipe-name>", 
   PipeDirection.InOut, 
   1, 
   PipeTransmissionMode.Byte, 
   PipeOptions.Asynchronous);
NamedPipeServerStream pipeServer=新的NamedPipeServerStream(
"", 
PipeDirection.InOut,
1.
PipeTransmissionMode.Byte,
管道选项(异步);

No,NamedPipeServerStream类中存在这两个方法。谢谢。在我编辑了这个问题之后,我看到这解决了问题(在您提供的链接中)。谢谢你的详尽回答!