我有一个示例应用程序试图与不存在的IP地址和端口连接:
var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
socket.Connect("10.1.2.3", 22);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
socket.Dispose();
}
当我在Windows上运行此代码时,我在21秒内收到错误消息:
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 10.1.2.3:22
但是当我在linux上运行相同的代码时,我等待2分10秒才能得到相同的错误。 linux是否有任何特定设置可以减少此超时?我已经尝试过减少tcp_retries 1和tcp_retries2(Change the TCP timeout for a linux network device),但没有帮助。
请注意,如果我在Windows主机上的linux docker容器内运行相同的代码,则错误将在相同的21秒内返回,但是如果我在linux主机上的linux docker容器内运行该错误,我将得到2分10秒。