Che cos’? un timeout socket?

Nelle reti complesse e nei computer consumer, esiste un componente digitale chiamato socket che collega due piattaforme diverse. Quando si verifica un problema con la connessione socket, ad esempio la rete non ? disponibile o non c’? Internet, il socket continuer? a provare a connettersi. Un timeout del socket interrompe questa connessione dopo un periodo di tempo specificato. Il comando socket timeout viene solitamente creato nella programmazione orientata agli oggetti (OOP) o nella programmazione di rete e impedisce al socket di creare problemi gonfiati interrompendo la connessione.

Un timeout del socket ? un periodo di tempo designato dal momento in cui il socket si connette fino all’interruzione della connessione. Molti utenti credono che il timeout stesso sia un problema, ma in realt? il timeout ? fatto per evitare che si manifestino ulteriori problemi. La quantit? di tempo tra la connessione e il timeout ? impostata dai programmatori del software o del sistema operativo (OS). Senza un comando di timeout, il socket continuer? a tentare la connessione a tempo indeterminato.

Se il timeout della presa non ? programmato, la presa rimarr? aperta in attesa che l’altro lato si connetta. Consentire che rimanga aperto apre il computer a potenziali attacchi dannosi; pi? comunemente, il computer utilizza solo la memoria in eccesso per connettersi a una rete che non risponde. Ci? impedisce anche che il socket venga utilizzato per qualsiasi altra cosa, il che fa rallentare l’intero computer.

I programmatori di sistemi operativi e software devono specificare il tempo di attesa del timeout del socket. Questo ? pi? comunemente visto nella programmazione OOP o di rete, perch? questi sono i programmi che usano maggiormente i socket; la maggior parte della programmazione di siti Web non utilizza i socket cos? spesso e non ha comandi di timeout. La quantit? di timeout ? generalmente misurata in millisecondi, ma il programmatore pu? far durare il timeout diversi minuti o addirittura ore se lo desidera.

La maggior parte dei programmatori ha due messaggi di timeout del socket, uno per una connessione che non risponde e un altro per quando il server o il programma di rete viene chiuso. Non ? sempre necessario un timeout del socket affinch? un socket interrompa la connessione. Quando un server o un computer sta per chiudere la connessione, invia un segnale al socket per fare lo stesso e chiudere la connessione tra i due sistemi. Questo segnale non viene sempre ricevuto, anche quando Internet si blocca improvvisamente o il cavo Ethernet viene rimosso durante il tempo di connessione. In questi casi, il socket continuer? ad aspettare i dati.