TCP_NODELAY配置选项

最近遇到一个问题:unix socket使用TCP进行通信,发的都是小的数据报文,在发送多个(未知)数据报文后,偶现其中一个数据报文,开始调用send接口到返回,花了将近2s左右;recv端结束数据报文正常,也没有出现丢失数据包报文的情况。
疑点:

  1. send接口耗时2s,说明内核的缓存区满了 --> 具体多大?
  2. 有send,对端有revc,为什么会出现内核缓存区满?
  3. 连续发送小数据报文,内核会进行组包,会被延迟发送,强制内核不组包,直接发送 --> TCP_NODELAY选项
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章