Blokker verbinding?
Blokker verbinding?

Video: Blokker verbinding?

Video: Blokker verbinding?
Video: Blokker: dit is hoe je verbinding met trouwe klanten behoud | HelloMasters Podcast 2024, April
Anonim

verbind is 'n blokkeer bel by verstek, maar jy kan dit nie maak nie blokkeer deur die SOCK_NONBLOCK-vlag na sok te gee. verbind () blokke totdat die TCP 3-rigting handdruk voltooi is. Handdruk aan luisterkant word deur TCP/IP-stapel in kern hanteer en afgehandel sonder om die gebruikerproses in kennis te stel.

Net so word gevra, wat is blokkerende en nie-blokkerende sok?

In blokkeer modus, die recv, stuur, koppel (slegs TCP) en aanvaar (slegs TCP) sok API-oproepe sal blok onbepaald totdat die gevraagde handeling uitgevoer is. In nie - blokkeer modus, keer hierdie funksies onmiddellik terug. kies testament blok Tot die sok is gereed.

wat is 'n blokkeerfunksie? A blokkeer funksie bereken basies vir ewig. Dit is wat dit bedoel blokkeer . Ander blokkeer funksies sal wag dat IO plaasvind. 'n nie- blokkeer IO-stelsel beteken a funksie begin 'n IO-aksie, gaan dan ledig en hanteer dan die resultaat van die IO-aksie wanneer dit gebeur.

Die vraag is dan, is socket accept blokkering?

aanvaar () blokkeer die beller totdat 'n verbinding teenwoordig is. Indien geen boodskappe spasie beskikbaar is by die sok om die boodskap te hou wat oorgedra moet word, dan blokkeer stuur() normaalweg. Indien geen boodskappe beskikbaar is by die sok , die herroep oproep wag vir 'n boodskap om te arriveer.

Is kies 'n blok?

As die uittel-argument na 'n voorwerp van tipe struct timeval wys waarvan die lede 0 is, kies () doen nie blok . As die uittel-argument NULL is, kies () blokke totdat 'n gebeurtenis veroorsaak dat een van die maskers met 'n geldige (nie-nul) waarde teruggestuur word.

Aanbeveel: