Tiempo de cierre de socket IP inalcanzable en el sistema operativo Windows

Estos códigos proporcionan datos de envío a través del Protocolo de datagramas de usuario. Hay dos códigos a continuación. Cuando uso el primer código para una dirección IP inalcanzable, recibo el retraso de tres segundos.

Por favor, busque nuevos resultados Título

SOLO ABRE LA NUEVA APLICACIÓN DE CONSOLA C # Y PEGUE ESTOS CÓDIGOS EN ELLA. (PRIMER CÓDIGO)

using System;
using System.Net;
using System.Net.Sockets;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            byte[] data = { 1, 20, 60, 44, 244 };
            while (true)
            {
                Console.WriteLine(DateTime.Now.ToString("h:mm:ss tt"));
                try
                {
                    using (var client = new UdpClient())
                    {
                        // Please check IP Address, It must be unreachable...
                       // IPEndPoint ep = new IPEndPoint(IPAddress.Parse("192.168.1.141"), 55600);
                      //  client.Connect(ep);
                        client.Send(data, data.Length, "192.168.1.141" , 55600);
                    }
                    Console.WriteLine(DateTime.Now.ToString("h:mm:ss tt"));
                    Console.WriteLine("    ");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }
        }
    }
}

Prueba 1 (con uso): IP accesible
Prueba 2 (con el uso): IP inalcanzable
Salida:
Prueba1 etiqueta1 ---> h: mm: ss etiqueta2 ---> h: mm: ss (Mismo tiempo)
Test2 etiqueta1 ---> h: mm: ss etiqueta2 ---> h: mm: ss +3 segundo
(Sin excepción)

Resultados de WireShark:
Prueba 1 (con uso) : Ip accesible -> Los datos se capturan, se ven.
Prueba 2 (con el uso) : IP inalcanzable-> Sin datos.

Cuando uso sin "usar" bloques, no recibí el retraso de tres segundos.

SOLO ABRE LA NUEVA APLICACIÓN DE CONSOLA C # Y PEGUE ESTOS CÓDIGOS EN ELLA. (SEGUNDO CÓDIGO)

using System;
using System.Net;
using System.Net.Sockets;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            byte[] data = { 1, 20, 60, 44, 244 };
            while (true)
            {
                Console.WriteLine(DateTime.Now.ToString("h:mm:ss tt"));
                try
                {
                    var client = new UdpClient();
                    //Please check IP address, It must be unreachable...
                   // IPEndPoint ep = new IPEndPoint(IPAddress.Parse("192.168.1.41"), 5600);
                   // client.Connect(ep);
                    client.Send(data, data.Length, "192.168.1.141", 55600);

                    Console.WriteLine(DateTime.Now.ToString("h:mm:ss tt"));
                }
                catch (Exception xe)
                {
                    Console.WriteLine(xe.ToString());
                }
                Console.WriteLine("   ");
                System.Threading.Thread.Sleep(1000);
            }
        }
    }
}

Prueba 1 (sin usar) : Ip alcanzable
Prueba 2 (sin usar) : Ip inalcanzable

Salida:
Prueba1 etiqueta1 ---> h: mm: ss (mismo tiempo) etiqueta2 ---> h: mm: ss (mismo tiempo)
Test2 etiqueta1 ---> h: mm: ss (mismo tiempo) etiqueta2 ---> h: mm: ss (mismo tiempo)
(Sin excepción)

Resultados de WireShark:
Prueba 1 (sin usar) : Ip accesible -> Los datos se capturan, se ven.
Prueba 2 (sin usar) : IP inalcanzable-> Sin datos.

¿Cuál es la media de ese retraso de tres segundos?
No estoy seguro, pero creo que tengo que usar bloques "usando" porque si no los uso, el uso de memoria de los bloques aumentará la etapa muy alta. ¿Cuál es la diferencia entre ambos códigos? ¿Cuál es más confiable? ¿Hay alguna forma mejor? No quiero el retraso de tres segundos.

¿Cómo disminuir el retraso de tres segundos a cero?

Gracias por adelantado...

NUEVOS RESULTADOS

He intentado socket Close / Dispose para IP inalcanzable con lenguaje de programación Python en el sistema operativo Windows. Obtuve el mismo resultado, es decir, un retraso de tres segundos para IP inalcanzable. Pero cuando intento el mismo código de Python en Ubuntu 15.10, no recibí el retraso de tres segundos.

import socket
import datetime

IPADDR = '192.168.1.141'
PORTNUM = 5600
PACKETDATA = "f1a525da11f6".encode()

while(True):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)
    s.connect((IPADDR, PORTNUM))
    s.send(PACKETDATA)
    print(datetime.datetime.now())
    s.close()

Respuestas a la pregunta(3)

Su respuesta a la pregunta