Холболтыг хааж байна уу?
Холболтыг хааж байна уу?

Видео: Холболтыг хааж байна уу?

Видео: Холболтыг хааж байна уу?
Видео: ИСЧЕЗНУВШИЙ В АНОМАЛЬНОМ МЕСТЕ "ЧЕРТОВ ОВРАГ 2/DISAPPEARED IN AN ANOMALOUS PLACE "DEVIL'S RAVINE 2 2024, Дөрөвдүгээр сар
Anonim

холбох нь блоклох өгөгдмөл байдлаар залгах боловч та үүнийг хийхгүй байж болно блоклох SOCK_NONBLOCK тугийг залгуур руу шилжүүлснээр. холбох () TCP 3 талын гар барихыг дуусгах хүртэл блоклодог. Сонсох тал дээр гар барих үйлдлийг цөм дэх TCP/IP стекээр зохицуулж, хэрэглэгчдэд мэдэгдэхгүйгээр дуусгадаг.

Үүнтэй адилаар блоклодог, блоклохгүй залгуур гэж юу вэ?

онд блоклох горим, хүлээн авах, илгээх, холбох (зөвхөн TCP) болон хүлээн авах (зөвхөн TCP) залгуур API дуудлага хийх болно блок хүссэн үйлдлийг гүйцэтгэх хүртэл тодорхойгүй хугацаагаар. онд үгүй - блоклох горимд эдгээр функцууд нэн даруй буцаж ирнэ. хүсэл зоригийг сонгоно блок хүртэл залгуур бэлэн.

блоклох функц гэж юу вэ? А блоклох функц үндсэндээ үүрд тооцдог. Үүнийг л хэлээд байгаа юм блоклох . Бусад блоклох функцууд IO үүсэхийг хүлээх болно. бус блоклох IO систем гэдэг нь a функц IO үйлдлийг эхлүүлж, дараа нь идэвхгүй болж, дараа нь IO үйлдлийн үр дүн тохиолдоход нь зохицуулна.

Дараа нь асуулт бол залгуурыг блоклох уу?

хүлээн зөвшөөрөх () холболт үүсэх хүртэл залгагчийг блоклодог. Хэрэв мессежийн зай байхгүй бол залгуур дамжуулах мессежийг барихын тулд send() нь ихэвчлэн блоклодог. Хэрэв мессеж байхгүй бол залгуур , recv дуудлага нь мессеж ирэхийг хүлээнэ.

Блок сонгох уу?

Хэрэв завсарлагааны аргумент нь гишүүд нь 0 байх struct timeval төрлийн объектыг зааж байвал, сонгох () үгүй блок . Хэрэв завсарлагааны аргумент NULL бол, сонгох () үйл явдал нь маскуудын аль нэгийг хүчинтэй (тэг биш) утгаар буцаах хүртэл блоклодог.

Зөвлөмж болгож буй: