Ethernet shield e.connect( server

Avendo questo piccolo programmino,
quando arriva alla funzione
if (ClienteInvio.connect("www.miosito.it", 80))

alcune volte attende 15 secondi e vai in CONNESSIONE FALLITA.
Vorrei capire se ho sviluppato il programma in modo scorretto
oppure se ce un modo, magari ritoccando le librerie a ridurre i 15 secondi di attesa (non sempre ci mette 15 secondi, però alcune volte si...)
a circa 5/6 secondi.
Spero di essere spiegato.
Attendo un vostro consiglio / aiuto.
GRAZIEEEEEEEEEE

#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 10);
EthernetServer server(80);
EthernetClient ClienteInvio;

void setup() {
  Serial.begin(9600);
  Ethernet.begin(mac, ip);
}

void loop() {

  EthernetClient ClienteInvio = server.available(); 
  
  if (ClienteInvio.connect("www.miosito.it", 80)) // punto A
  {
    ClienteInvio.println("GET /pagina.asp?prova=1 HTTP/1.1");
    ClienteInvio.println("Host: www.miosito.it");
    ClienteInvio.println("Connection: close");
    ClienteInvio.println();
  } else {
    // if you didn't get a connection to the server:
    Serial.println("Connessione fallita !!!");
  }

  delay (30000); //ritardo 30 secondi
}