我想知道如何处理通过命名管道(一个服务器和一个客户端)成功连接两个进程,突然(由于某种原因)服务器进程结束的情况。

管道怎么了?它关闭了吗?
客户端将信息发送到服务器会怎样?它会迷路吗?
客户端如何知道服务器是否关闭?

祝一切顺利,

吉尔

最佳答案

例如,如果使用System.IO.PipesNamedPipeServerStream,则在管道断开或断开连接时会出现IOException。

当您使用NamedPipeClientStream从服务器读取信息时,我相信客户端会等到在NamedPipeClientStream.Connect()呼叫替代方法上建立连接后,您可以使用NamedPipeClientStream.Connect(Int32)选项在预定时间后使连接超时。除此之外,当某些事情进展不顺利时,StreamReader.ReadLine()还能抛出IOException

NamedPipeClientStream.IsConnected是确定客户端是否已成功连接到服务器或客户端是否已断开连接,关闭或损坏的简单方法。

关于c# - 服务器关闭时通过命名管道发送数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4311017/

10-17 01:22