From: xf0r3m
+ OmawiajÄ c warstwÄ aplikacji trzeba również wspomnieÄ o tym w jaki + sposób procesy sÄ wstanie braÄ udziaÅ w komunikacji sieciowej. W + zależnoÅci od tego czy poÅÄ czenie jest już zestawione to sprowadza + siÄ to skorzystania z dwóch wywoÅaÅ systemowych recv + oraz send. Proces chcÄ c skorzystaÄ z tych wywoÅaÅ + musi odwoÅaÄ siÄ do poÅÄ czenia za pomocÄ takie tworu jak + gniazdo. Gniazda sÄ wykorzystywane do uzyskania + dostÄpu do sieci przy użyciu jÄ dra. Proces wykorzystuje do okreÅlenia + tego jak i kiedy komunikuje siÄ on z sieciÄ . Gniazda również biorÄ + udziaÅ w komunikacji miÄdzyprocesowej (IPC). +
++ W zależnoÅci od tego w jaki sposób proces chce uzyskac dostÄp do + sieci wówczas musi skorzystaÄ z okreÅlonego rodzaju gniazda. + Dla protokoÅu TCP używane jest gniazdo strumienia + (SOCK_STREAM) a dla UDP wykorzystywane jest gniazdo + datagramu (SOCK_DGRAM). Konfigracja gniazda wymaga ustalenia + rodzaju gniazda, adresów IP, portów i protokoÅy warstwy transportowej. + Gniazda zazwyczaj sÄ konfigurowane przez procesów serwerów. Po + ustaleniu tych informacji proces wykorzystuje standardowe metody + obsÅugi sieci. +
++ Typowy serwer podczas swojego dziaÅania wykorzystuje dwa gniazda a + nie jedno. JeÅli tak by byÅo to wówczas serwery mogÅy ÅwiadczyÄ + usÅugi tylko punktowo. Jedne klient siÄ podÅÄ czyÅ to drugi musi + czekaÄ na zakoÅczenie poÅÄ czenia. Na szczÄÅcie jedno z gniazd + sÅuży do nasÅuchiwania, jeÅli proces nadrzÄdny wykryje na nim ruch + to za pomocÄ wywoÅania systemowego accept akceptuje + to poÅÄ czenie i tworzy dla tego poÅÄ czenia dedykowane gniazdo + zapisu i odczytu. Po tej czynnoÅci za pomocÄ wywoÅania systemowego + fork tworzy proces podrzÄdny do obsÅugi tego + poÅÄ czenia. Gniazdo nasÅuchujÄ ce dalej bÄdzie prowadziÄ nasÅuch dla + procesu nadrzÄdnego. +
++ Po skonfigurowaniu gniazda proces może prowadziÄ z nim interakcje + zgodnie z rodzajem użytego gniazda. +
+2022; COPYLEFT; ALL RIGHTS REVERSED;