gpt4 book ai didi

Linux 3.0 TCP 堆栈接收缓冲区内核架构

转载 作者:可可西里 更新时间:2023-11-01 02:49:39 24 4
gpt4 key购买 nike

(Linux 3.0, x86_64)

如果我在连接的 tcp 套接字上停止调用 recv(2) 一段时间,而另一台主机继续发送数据,则可能该数据已被内核接收和缓冲,所以下一个当我调用 recv 时,它会快速返回所有等待数据。

我的问题是这个接收缓冲区有多大,它是如何工作的?我可以使用任何相关的内核或套接字设置来调整其行为吗? tcp 栈填满后会做什么?

最佳答案

接收缓冲区可以用setsockopt(SO_RCVBUF)改变.默认大小由 tcp_rmem 控制系统控制。如果缓冲区已满,堆栈将停止扩展它提供给另一端的接收窗口,迫使另一端停止发送数据,直到缓冲区中有空间为止。

关于Linux 3.0 TCP 堆栈接收缓冲区内核架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9136952/

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