Gniazdo
Gniazdo to składnik oprogramowania, który pomaga programom komputerowym komunikować się za pośrednictwem sieci. Termin „gniazdo” przywodzi na myśl fizyczne gniazdo, do którego podłącza się kabel sieciowy i przez które przepływają wszystkie dane. Aplikacje tworzą programowe gniazda sieciowe w podobnym celu — wszystkie dane wysyłane i odbierane przez aplikację za pośrednictwem połączenia sieciowego przechodzą przez jej gniazdo.
Gniazda zapewniają standardową metodę ustanawiania połączeń sieciowych przez program. Deweloperzy oprogramowania mogą użyć interfejsu API, aby utworzyć gniazdo zarządzane przez system operacyjny, dzięki czemu nie muszą od podstaw tworzyć własnego rozwiązania. Gdy aplikacja musi wysłać dane przez sieć, zapisuje je w gnieździe tak, jakby zapisywała plik na dysku. System operacyjny wykrywa tę operację i automatycznie przekazuje pakiet danych przez sieć do miejsca docelowego.
Każde gniazdo ma unikatowy adres gniazda, który łączy adres IP i numer portu. Adres ten identyfikuje zarówno konkretny komputer, na którym działa gniazdo, jak i aplikację, która je utworzyła. Aplikacje działające na serwerze tworzą gniazda podczas uruchamiania i utrzymują je w stanie nasłuchiwania, natomiast aplikacje na klientach mogą otwierać i zamykać gniazda w razie potrzeby. Gdy gniazdo jest otwarte, system operacyjny monitoruje przychodzące i wychodzące pakiety danych oraz sprawdza adres gniazda każdego pakietu, aby wiedzieć, dokąd go przekazać.
Na przykład podczas odwiedzania witryny internetowej w przeglądarce internetowej tworzy ona gniazdo, które łączy się z innym gniazdem na zdalnym serwerze internetowym za pomocą jego adresu IP i numeru portu 80 w przypadku połączeń (HTTP i 443 w przypadku połączeń HTTPS). Przeglądarka wysyła do tego gniazda żądanie określonej strony internetowej, które system operacyjny wykrywa i przekazuje do serwera internetowego. Gdy serwer internetowy odsyła żądaną stronę na komputer, system operacyjny sprawdza adres gniazda i wie, że należy wysłać ją z powrotem do przeglądarki internetowej.
Sprawdź swoją wiedzę