Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 我可以为单个应用程序禁用TCP窗口扩展吗?_Linux_Sockets_Tcp_Network Programming - Fatal编程技术网

Linux 我可以为单个应用程序禁用TCP窗口扩展吗?

Linux 我可以为单个应用程序禁用TCP窗口扩展吗?,linux,sockets,tcp,network-programming,Linux,Sockets,Tcp,Network Programming,在Linux中,应用程序能否启用或禁用应用程序创建的TCP/IP连接?与使用net.ipv4.tcp\u window\u scaling参数通过sysctl进行系统范围的修改相反。不,您不能。套接字根本没有每进程API,只有每套接字API和全局内核配置 但不需要直接修改比例设置。您只需在连接之前设置所需的套接字接收缓冲区大小。然后在连接握手期间协商适当的窗口比例。如果你想缩放窗口!连接之前,请确保套接字接收缓冲区小于64k。对于已接受的套接字,这是在侦听套接字上设置的。对不起,这不是我需要的。

在Linux中,应用程序能否启用或禁用应用程序创建的TCP/IP连接?与使用
net.ipv4.tcp\u window\u scaling
参数通过
sysctl
进行系统范围的修改相反。

不,您不能。套接字根本没有每进程API,只有每套接字API和全局内核配置


但不需要直接修改比例设置。您只需在连接之前设置所需的套接字接收缓冲区大小。然后在连接握手期间协商适当的窗口比例。如果你想缩放窗口!连接之前,请确保套接字接收缓冲区小于64k。对于已接受的套接字,这是在侦听套接字上设置的。

对不起,这不是我需要的。正如我的问题明确指出的那样,我需要直接修改比例设置。“正如我的问题明确指出的那样”-大多数人实际上问错了问题。提出你的问题。为什么?窗口缩放只是套接字接收缓冲区大小的函数。这里的目的是什么?我需要连接到一个TCP窗口扩展实现已损坏的设备。我想建议“用损坏的堆栈修复设备”会很烦人。@MartinJames:那太好了,不是吗?:)因此,您只需确保不会公布>64k的接收缓冲区。