Thrift第八課 心跳機制

場景

        客戶端沒有檢測到網絡連接斷線,服務器端異常捕獲。日誌輸出如下:TSocket::read() recv() <Host: ::ffff:10.95.22.39 Port:50180>errno = 10060


錯誤查找10060

        由於連接方在一段時間後沒有正確答覆或連接的主機沒有反應,連接嘗試失敗


知識擴展 

        TCP不提供及時連接丟失通知,對於實時保證TCP連接正常的應用程序,需要實現心跳。Thrift基於TCP連接,但不是真正的長連接,只能應用於系統內部穩定高速的網絡環境。爲了實現真正的長連接,必須要手動在應用程序中添加心跳包,目前採用的方式是客戶端定時發送一個心跳包,然後服務器收到之後直接返回該心跳包,客戶端在10秒內沒有收到心跳包,說明連接斷開,重新連接。


引用
https://blog.csdn.net/joeyon1985/article/details/41511717
https://blog.csdn.net/byxdaz/article/details/74297190


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章