gpt4 book ai didi

c# - 在意外丢失或崩溃后重新连接到 NamedPipeServerStream

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:27 24 4
gpt4 key购买 nike

我有两个应用程序通过 NamedPipes 相互通信。我们称它们为 appServer(服务器)和 appClient(客户端)。他们成功连接并在一段时间内来回发送数据。然后,appClient 出乎意料地崩溃了。用户重新启动它并尝试连接到管道,但 appServer 仍然认为它已连接,因此不会监听新连接。

我目前在服务器端使用 NamedPipeServerStream(它返回 .IsConnected 作为 true,并且 NamedPipeClientStream 在客户端(返回 .IsConnected 作为 false)。

我的问题是:我能否以某种方式让客户端能够重新连接?我显然已经尝试过 .Connect 有或没有超时但没有运气。

如有任何提示,我们将不胜感激!谢谢!

编辑:另一个有效(尽管不受欢迎)的选择是在服务器端执行一些廉价操作,基本上进行“连接测试”以确保客户端“仍然存在”。有人知道其中之一吗?除了发送虚拟消息外,我不确定这样做的最佳方式。我不喜欢这个选项,因为它必须连续发生,但我对所有途径都持开放态度。

最佳答案

我们的解决方案最终是启动等待另一个连接的第二个线程。然后我们比较客户端,如果它是同一个客户端,那么我们关闭并回收原始服务器管道以保持其清洁。

关于c# - 在意外丢失或崩溃后重新连接到 NamedPipeServerStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38086255/

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