1
注意:This similar question詢問不同的事情(在服務器端檢測到客戶端斷開連接)。如何檢測Thrift中的服務器斷開連接?
我有一個C#Thrift客戶端通過命名管道傳輸連接到C++ Thrift服務。當C++服務死亡時,即當連接不再可用時,我想從客戶端檢測。我嘗試着看着TTransport.IsOpen屬性,但是無論如何它都會保留true
。有沒有一種乾淨的方式來實現這一點(沒有使用心跳功能擴展我的服務)?
'isOpen'只會告訴你運輸是否被認爲是開放的。它不驗證任何句柄,套接字,管道......現在無法查看源代碼,但是有沒有辦法獲得管柄的保持?然後對它進行一些檢查(WinAPI?),至少這是我的想法。 – JensG
似乎只有在嘗試使用IsOpen屬性時纔會更新IsOpen屬性。我寧願不創建依賴於這個特定的傳輸實現,但也許我必須:/ –