關於TCP連線極端異常情況的處理方法的思考

2021-08-02 11:07:26 字數 307 閱讀 8394

這裡說的極端異常情況,不是對方(伺服器或者客戶端)一般的異常情況,即引用該tcp連線的程序異常退出而由os直接發出fin或者rst包,從而關閉這個連線。這樣本方會受到socket_err返回,或者len=0的資料。

這裡說的極端情況是對方主機或者網路裝置突然斷電造成的連線直接中斷。對方沒有任何機會傳送報文來通知本方。

這樣的情況下,本方的tcp連線不會上報任何錯誤,而是認為對方處於靜默狀態。

對於這樣的情況,如何進行判斷和處理呢

一般有2個處理思路,

一是tcp 的keepalive機制

二是應用層的心跳機制。

lftp連線異常情況分析過程

問題現象 通過rpm安裝好lftp後,執行lftp huangmr huangmr 192.168.107.132無法連線 lftp huangmr 192.168.107.132 ls ls at 0 delaying before reconnect 175 或者是一直處於connecting....

收不到組播的異常情況

在日常工作中,由於經常要在linux下收取組播資料,特將一些異常情況記下 1.沒有新增組播路由 linux下沒有新增對應組播的傳送方的路由的情況時,雖然tcpdump可以看到資料,但無法用程式收到組播資料的,這是出現問題時要檢查的第一條。2.組播路由新增錯誤 新增組播路由的指令為 route add...

MFC 檔案基本操作的異常情況

檔案操作 1 檔案常見屬性 1.1 唯讀屬性 1.2 系統檔案屬性 1.3 隱藏屬性 通過getfileattributes來獲取 file attribute readonly 唯讀屬性 file attribute hidden 隱藏屬性 file attribute system 系統檔案屬性...