Je li povezivanje blokirano?
Je li povezivanje blokirano?

Video: Je li povezivanje blokirano?

Video: Je li povezivanje blokirano?
Video: НОВЫЙ КЛИП И ДЕНЬ РОЖДЕНИЯ ДИМАША 2024, Travanj
Anonim

Spojiti je blokiranje poziv prema zadanim postavkama, ali ga možete učiniti ne blokiranje prosljeđivanjem u utičnicu zastavice SOCK_NONBLOCK. Spojiti () blokira do završetka TCP 3-smjernog rukovanja. Rukovanje na strani slušanja upravlja se TCP/IP stogom u kernelu i završava bez obavještavanja korisnika.

Slično, postavlja se pitanje što je blokirajuća i neblokirajuća utičnica?

U blokiranje način, recv, send, connect (samo TCP) i accept (samo TCP) utičnica API pozivi će blok na neodređeno vrijeme dok se tražena radnja ne izvrši. U ne - blokiranje modu, te se funkcije odmah vraćaju. odaberite će blok sve do utičnica je spreman.

što je funkcija blokiranja? A funkcija blokiranja u osnovi računa zauvijek. To je ono što to znači pod blokiranje . Ostalo funkcije blokiranja čekao bi da se dogodi IO. ne- blokiranje IO sustav znači a funkcija pokreće IO akciju, zatim ide u stanje mirovanja i obrađuje rezultat IO akcije kada se dogodi.

Nakon toga, postavlja se pitanje je li blokiranje prihvaćanja utičnice?

prihvatiti () blokira pozivatelja dok se ne uspostavi veza. Ako nema mjesta za poruke na adresi utičnica za zadržavanje poruke koja se šalje, a zatim send() normalno blokira. Ako nema dostupnih poruka na utičnica , recv poziv čeka da stigne poruka.

Je li odabir bloka?

Ako argument timeout ukazuje na objekt tipa struct timeval čiji su članovi 0, Odaberi () ne blok . Ako je argument timeout NULL, Odaberi () blokira sve dok događaj ne izazove da se jedna od maski vrati s valjanom (ne-nula) vrijednošću.

Preporučeni: