gpt4 book ai didi

.net - 连接丢失后重新连接到 NamedPipeClientStream (.NET)

转载 作者:行者123 更新时间:2023-12-04 05:47:14 26 4
gpt4 key购买 nike

我构建了两个应用程序。一个是客户端,另一个是服务器。

它们通过命名管道进行通信。客户端创建 NamedPipeClientStream。一切正常,除非服务器关闭连接或服务器应用程序终止。

终止后,客户端上的管道流将 IsConnected 属性设置为 false。还行吧。但是,如果我尝试重新打开 NamedPipeClientStream,它永远不会成功。重新启动服务器后,我希望客户端打开连接,但这从来没有发生过。

每次尝试重新连接时都会引发 TimeOutException。唯一的解决办法是退出应用程序并重新启动它。但这不是我的选择。

请大家帮忙!

最佳答案

没关系。

问题是在与服务器断开连接后没有关闭 clinet 端的读取管道。

解决方案是

try{
while(true){
... Reading from the PIPE ...
}
}
finally{
pipeStream.Close();
pipeStream.Dispose();
IsRunning = false;
}

永远不要忘记关闭和处理溪流!!!

关于.net - 连接丢失后重新连接到 NamedPipeClientStream (.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10519416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com