1
注意:This similar question询问不同的事情(在服务器端检测到客户端断开连接)。如何检测Thrift中的服务器断开连接?
我有一个C#Thrift客户端通过命名管道传输连接到C++ Thrift服务。当C++服务死亡时,即当连接不再可用时,我想从客户端检测。我尝试着看着TTransport.IsOpen属性,但是无论如何它都会保留true
。有没有一种干净的方式来实现这一点(没有使用心跳功能扩展我的服务)?
'isOpen'只会告诉你运输是否被认为是开放的。它不验证任何句柄,套接字,管道......现在无法查看源代码,但是有没有办法获得管柄的保持?然后对它进行一些检查(WinAPI?),至少这是我的想法。 – JensG
似乎只有在尝试使用IsOpen属性时才会更新IsOpen属性。我宁愿不创建依赖于这个特定的传输实现,但也许我必须:/ –