首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCP发送队列卡住

TCP发送队列卡住
EN

Stack Overflow用户
提问于 2016-12-29 09:54:03
回答 2查看 3K关注 0票数 0

在网络出现延迟的情况下,即使是ACK也会被延迟约32毫秒,TCP发送缓冲区已经满了,即使在5-10分钟之后也不能清除。

这里有什么问题吗?是否可以检查当前的TCP发送缓冲区状态,以便在缓冲区已满时停止传出通信量?有什么TCP配置我应该处理吗?

它发生在openldap2.4堆栈中。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-31 14:11:12

是否可以检查当前的TCP发送缓冲区状态,以便在缓冲区已满时停止传出通信量?

如果发送缓冲区已满,它将自动停止发送:如果发送缓冲区已满,则发送/写将阻塞(阻塞套接字)或失败(非阻塞套接字)。如果您想在前面停止,只需使用setsockopt(..., SO_SNDBUF,...) - Steffen Ullrich减少缓冲区

票数 0
EN

Stack Overflow用户

发布于 2019-09-26 16:43:46

要在Linux上检查TCP发送和接收队列,请使用ss (sockstat)命令[手册页]。

代码语言:javascript
复制
ss -tn

如果您知道您感兴趣的TCP端口号,可以对其进行筛选,以获得更容易的视图,例如:

代码语言:javascript
复制
ss -tn 'dport 389 || sport 389'

代码语言:javascript
复制
ss -tn 'dport ldap || sport ldap'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41377187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档