Socket
Socket je softwarová součást, která pomáhá počítačovým programům komunikovat přes síť. Pojem „socket“ připomíná fyzickou zásuvku, do které zapojujete síťový kabel a kterou prochází veškerá data. Aplikace vytvářejí softwarové síťové sockety k podobnému účelu — veškerá data, která aplikace odesílá a přijímá přes síťové připojení, procházejí jejím socketem.
Sockety poskytují standardní způsob, jak může program navázat síťové připojení. Softwaroví vývojáři mohou použít API k vytvoření socketu spravovaného operačním systémem, takže nemusí od začátku vytvářet vlastní způsob. Když aplikace potřebuje odeslat data přes síť, zapíše je do socketu, jako by zapisovala soubor na disk. Operační systém to rozpozná a automaticky předá datový paket přes síť do cíle.
Každý socket má jedinečnou adresu socketu, která kombinuje IP adresu a číslo portu. Tato adresa určuje konkrétní počítač, na kterém socket běží, i aplikaci, která jej vytvořila. Aplikace běžící na serveru vytvářejí sockety při spuštění a udržují je ve stavu naslouchání, zatímco aplikace na klientech mohou sockety podle potřeby otevírat a zavírat. Když je socket otevřený, operační systém sleduje příchozí a odchozí datové pakety a dívá se na adresu socketu každého paketu, aby věděl, kam ho předat.
Když například navštívíte web pomocí svého webového prohlížeče, vytvoří socket, který se pomocí IP adresy a čísla portu připojí k jinému socketu na vzdáleném webovém serveru 80 pro připojení (HTTP a 443 pro připojení HTTPS). Prohlížeč odešle tomuto socketu požadavek na konkrétní webovou stránku, který operační systém rozpozná a předá webovému serveru. Když webový server odešle požadovanou stránku zpět do vašeho počítače, operační systém se podívá na adresu socketu a ví, že ji má poslat zpět webovému prohlížeči.
Otestujte své znalosti