服务器关闭时通过命名管道发送数据

时间:2010-11-30 06:08:52

标签: c# named-pipes

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

管子怎么了?它关闭了吗? 客户端发送到服务器的信息会发生什么变化?它迷路了吗? 客户端如何知道服务器是否已关闭?

All The Best,

吉尔

1 个答案:

答案 0 :(得分:1)

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

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

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