TCP_NODELAY配置選項

最近遇到一個問題:unix socket使用TCP進行通信,發的都是小的數據報文,在發送多個(未知)數據報文後,偶現其中一個數據報文,開始調用send接口到返回,花了將近2s左右;recv端結束數據報文正常,也沒有出現丟失數據包報文的情況。
疑點:

  1. send接口耗時2s,說明內核的緩存區滿了 --> 具體多大?
  2. 有send,對端有revc,爲什麼會出現內核緩存區滿?
  3. 連續發送小數據報文,內核會進行組包,會被延遲發送,強制內核不組包,直接發送 --> TCP_NODELAY選項
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章