gpt4 book ai didi

linux - 禁用 TCP 延迟 ACK

转载 作者:IT王子 更新时间:2023-10-29 00:20:39 25 4
gpt4 key购买 nike

我有一个应用程序通过 TCP 接收相对稀疏的流量,没有应用程序级响应。我相信 TCP 堆栈正在发送延迟的 ACK(基于对网络数据包捕获的一瞥)。在单个套接字的网络堆栈中禁用延迟 ACK 的推荐方法是什么?我查看了 TCP_QUICKACK,但似乎堆栈无论如何都会在我脚下改变它。

这是在 Linux 2.6 内核上运行的,我不担心可移植性。

最佳答案

您可以在每次执行 recv 之后setsockopt(sockfd, IPPROTO_TCP, TCP_QUICKACK, (int[]){1}, sizeof(int))。看起来 TCP_QUICKACK 只有在发送或接收数据时才会重置;如果您不发送任何数据,那么它只会在您收到数据时重置,在这种情况下您只需重新设置即可。

您可以在/proc/net/tcp 的第14 字段中查看;如果它不是 1,则应立即发送 ACK...如果我正确读取 TCP 代码。 (我也不是这方面的专家。)

关于linux - 禁用 TCP 延迟 ACK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1615447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com