Ce este un socket timeout?

În rețelele complexe și în computerele de consum, există o componentă digitală numită priză care conectează două platforme diferite. Când există o problemă cu conexiunea la socket, cum ar fi rețeaua indisponibilă sau nu există internet, socket-ul va continua să încerce să se conecteze. Un socket timeout oprește această conexiune după o anumită perioadă de timp. Comanda socket timeout este de obicei creată în programarea orientată pe obiecte (OOP) sau programarea în rețea și împiedică socket-ul să creeze probleme umflate prin întreruperea conexiunii.

Un socket timeout este o perioadă de timp desemnată de la momentul în care soclul se conectează până la întreruperea conexiunii. Mulți utilizatori cred că timeout-ul în sine este o problemă, dar timeout-ul este de fapt făcut pentru a împiedica alte probleme să apară. Intervalul de timp dintre conexiune și timeout este stabilit de programatorii software-ului sau sistemului de operare (OS). Fără o comandă de timeout, socket-ul va continua să încerce conexiunea la nesfârșit.

Dacă expirarea prizei nu este programată, atunci soclul va rămâne deschis în timp ce așteaptă conectarea celeilalte părți. Permiterea acestuia să rămână deschisă deschide computerul la potențiale atacuri rău intenționate; mai frecvent, computerul folosește doar excesul de memorie pentru a se conecta la o rețea care nu răspunde. Acest lucru împiedică, de asemenea, priza să fie folosită pentru orice altceva, ceea ce face ca întregul computer să încetinească.

Programatorii de sisteme de operare și software trebuie să specifice timpul de așteptare al socket-ului. Acest lucru se vede cel mai frecvent în OOP sau programarea în rețea, deoarece acestea sunt programele care folosesc cel mai mult socket-uri; majoritatea programării site-urilor web nu utilizează socket-uri la fel de des și nu are comenzi de timeout. Valoarea timeout-ului este, în general, măsurată în milisecunde, dar programatorul poate face ca timeout-ul să dureze câteva minute sau chiar ore dacă dorește.

Majoritatea programatorilor au două mesaje de expirare a socket-ului, unul pentru o conexiune care nu răspunde și altul pentru când serverul sau programul de rețea este închis. Un socket timeout nu este întotdeauna necesar pentru ca un socket să oprească conexiunea. Când un server sau un computer este pe cale să închidă conexiunea, acesta trimite un semnal către soclu pentru a face același lucru și a închide conexiunea dintre cele două sisteme. Acest semnal nu este întotdeauna primit, inclusiv atunci când Internetul se blochează brusc sau cablul Ethernet este îndepărtat în timpul conexiunii. În aceste cazuri, socket-ul va continua să aștepte date.