Wat is een socket-time-out?

In complexe netwerken en op consumentencomputers is er een digitale component genaamd een socket die twee verschillende platforms verbindt. Als er een probleem is met de socketverbinding, bijvoorbeeld omdat het netwerk niet beschikbaar is of als er geen internet is, blijft de socket proberen verbinding te maken. Een socket-time-out stopt deze verbinding na een bepaalde tijd. Het socket time-outcommando wordt meestal gemaakt in object-georiënteerd programmeren (OOP) of netwerkprogrammering en voorkomt dat de socket opgeblazen problemen veroorzaakt door de verbinding te verbreken.

Een socket-time-out is een aangewezen hoeveelheid tijd vanaf het moment dat de socket verbinding maakt tot de verbinding wordt verbroken. Veel gebruikers geloven dat de time-out zelf een probleem is, maar de time-out is eigenlijk gemaakt om te voorkomen dat verdere problemen zich manifesteren. De hoeveelheid tijd tussen de verbinding en de time-out wordt ingesteld door programmeurs van de software of het besturingssysteem (OS). Zonder een time-outopdracht blijft de socket de verbinding voor onbepaalde tijd proberen.

Als de socket-time-out niet is geprogrammeerd, blijft de socket open terwijl deze wacht tot de andere kant verbinding maakt. Als deze open blijft staan, kan de computer worden blootgesteld aan potentiële kwaadwillende aanvallen; vaker gebruikt de computer alleen overtollig geheugen om verbinding te maken met een netwerk dat niet reageert. Dit voorkomt ook dat de socket voor iets anders wordt gebruikt, waardoor de hele computer trager wordt.

OS- en softwareprogrammeurs moeten de wachttijd voor sockettime-out opgeven. Dit wordt meestal gezien in OOP of netwerkprogrammering, omdat dit de programma's zijn die het meest gebruikmaken van sockets; de meeste website-programmering gebruikt minder vaak sockets en heeft geen time-outopdrachten. De time-outhoeveelheid wordt meestal gemeten in milliseconden, maar de programmeur kan de time-out enkele minuten of zelfs uren laten duren als hij of zij dat wenst.

De meeste programmeurs hebben twee sockettime-outberichten, een voor een verbinding die niet reageert en een andere voor wanneer de server of het netwerkprogramma is gesloten. Een socket-time-out is niet altijd nodig voor een socket om de verbinding te stoppen. Wanneer een server of computer op het punt staat de verbinding te verbreken, stuurt deze een signaal naar de socket om hetzelfde te doen en de verbinding tussen de twee systemen te sluiten. Dit signaal wordt niet altijd ontvangen, ook niet als het internet plotseling crasht of de Ethernet-kabel wordt verwijderd tijdens de verbindingstijd. In deze gevallen blijft de socket gewoon wachten op gegevens.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?