A csatlakozás blokkolja?
A csatlakozás blokkolja?

Videó: A csatlakozás blokkolja?

Videó: A csatlakozás blokkolja?
Videó: Miért hátráltatja Magyarország a svéd és finn NATO-csatlakozást? 2024, Április
Anonim

csatlakozni egy blokkolása alapértelmezés szerint hívja, de beállíthatja, hogy ne blokkolása átadva a SOCK_NONBLOCK jelzőt. csatlakozni () blokkolja a TCP 3-utas kézfogás befejezéséig. A figyelési oldalon a kézfogást a kernelben lévő TCP/IP verem kezeli, és a felhasználói folyamat értesítése nélkül fejeződik be.

Hasonlóképpen felteszik a kérdést, hogy mi az a blokkoló és nem blokkoló aljzat?

Ban ben blokkolása mód, a fogadás, küldés, csatlakozás (csak TCP) és elfogadás (csak TCP) foglalat API hívások Blokk határozatlan ideig a kért művelet végrehajtásáig. Ban ben nem - blokkolása módban ezek a függvények azonnal visszatérnek. válasszon akaratot Blokk amíg a foglalat készen van.

mi az a blokkoló funkció? A blokkoló funkció alapvetően örökké számít. Ez azt jelenti, hogy blokkolása . Egyéb blokkoló funkciók megvárná az IO bekövetkezését. egy nem blokkolása Az IO rendszer jelentése a funkció elindít egy IO-műveletet, majd tétlen lesz, majd kezeli az IO-művelet eredményét, amikor az megtörténik.

Ezt követően a kérdés az, hogy a socket elfogadja-e a blokkolást?

elfogad () blokkolja a hívót, amíg a kapcsolat létre nem jön. Ha nincs szabad hely az üzenetek számára foglalat a továbbítandó üzenet megtartásához, majd a send() általában blokkol. Ha nem érhetők el üzenetek a foglalat , a recv hívás üzenet érkezésére vár.

Blokk kiválasztása?

Ha az időtúllépés argumentum egy struct timeval típusú objektumra mutat, amelynek tagjai 0, válassza ki () nem Blokk . Ha az időtúllépési argumentum NULL, válassza ki () blokkolja mindaddig, amíg egy esemény hatására az egyik maszk érvényes (nem nulla) értékkel tér vissza.

Ajánlott: