tft每日頭條

 > 科技

 > tcp10種狀态

tcp10種狀态

科技 更新时间:2025-02-07 11:23:46

昨天寫了一篇文章介紹了CLOSE_WAIT ,有個粉絲說我沒有講到到問題的關鍵,因為在實際項目中,我們關心的是如果服務器保持了大量的CLOSE_WAIT應該怎麼解決。說的也是,因為在具體的項目開發過程中,面對PM ,面對項目Schedule ,快速的重現問題、定位問題、解決問題才是王道。

tcp10種狀态(TCP服務器上保持了大量的CLOSE)1

自己從自己刨的坑裡跳出來

這裡我分享自己在之前搭建的一個server 保持了大量的的CLOSE_WAIT的解決方法。

  • 問題描述

開始的時候是發現自己搭建的server 運行一段時間以後就ping 不通了,客戶端也連接不上了,最後發現是server端有大量的CLOSE_WAIT狀态的tcp pcb ,至于怎麼發現的你就不要問了,我說過了我不是TCP/IP高手,發現問題是一個痛苦的過程

  • 原因分析

我的系統運行的是FreeRTOS操作系統的 ,TCP協議作為FreeRTOS一個Task運行,TCP/IP協議棧的優先級并不高,這個其實也不是最主要的,最最要的是其他Task中,有個Task會頻繁的周期性的訪問臨界資源,說到這裡估計高手們應該都看出門道了,是的,臨界資源保護會屏蔽軟件中斷,協議棧線程受系統調度的影響,以至于server的應用程序不能實時響應網絡上連接處理。

  • 解決方法

  1. 修改TCP/IP任務優先級,從而确保網絡任務的實時響應

  2. 擴大臨界資源訪問周期,确切的說是減少臨界資源的訪問,從而能夠讓TCP/IP任務獲得更多的CPU運行權限。

tcp10種狀态(TCP服務器上保持了大量的CLOSE)2

這樣修改以後,問題就沒了。對程序員來說,解掉一個棘手的bug ,有一種奧特曼打怪獸的感覺。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved