gpt4 book ai didi

c# - 如何检测 Thrift 中的服务器断开连接?

转载 作者:行者123 更新时间:2023-11-30 03:53:58 25 4
gpt4 key购买 nike

备注:This similar question问一个不同的事情(在服务器端检测客户端断开连接)。


我有一个 C# Thrift 客户端通过命名管道传输连接到 C++ Thrift 服务。当 C++ 服务终止时,即当连接不再可用时,我想从客户端检测。我尝试查看 TTransport.IsOpen 属性,但无论如何它都保持 true。是否有一种干净的方法来实现这一点(无需使用心跳功能扩展我的服务)?

最佳答案

为了避免对平台乃至所选传输层的依赖,我最终向我的服务添加了一个空操作 ping 调用。这由客户端从后台线程定期调用,并且在服务器上不执行任何操作。结果是更新了管道的 IsOpen 属性,并且在尝试调用某些内容时我也得到了 IOException。这远非理想,但至少有效,而且我已经出于其他原因包装了我的服务,因此我可以将这种丑陋隐藏在更好的界面后面。

关于c# - 如何检测 Thrift 中的服务器断开连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29822432/

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