在下面的命令中,我启用文件/dev/tcp/10.10.10.1/80进行读写,并将其与文件描述符3相关联:
$time exec 3<>/dev/tcp/10.10.10.1/80
bash: connect: Operation timed out
bash: /dev/tcp/10.10.10.1/80: Operation timed out
real 1m15.151s
user 0m0.000s
sys 0m0.000s
这会自动尝试执行TCP三次握手.如果无法在上面的示例中访问10.10.10.1,则连接系统调用尝试连接75秒.这个75秒的超时是由bash决定的吗?或者这个系统是默认的吗?最后但并非最不重要的是,有没有办法减少这个超时值?
最佳答案 它由TCP决定.它可以通过应用程序代码在每个插槽上减少.
注意只有在根本没有响应时,超时才会生效.如果存在连接拒绝,则会立即发生错误.