Je, kuunganisha kunazuia?
Je, kuunganisha kunazuia?

Video: Je, kuunganisha kunazuia?

Video: Je, kuunganisha kunazuia?
Video: JE YAFAA KUUNGANISHA SWALA KWA WAKATI MMOJA? 2024, Aprili
Anonim

kuunganisha ni a kuzuia piga simu kwa chaguo-msingi, lakini unaweza kuifanya sio kuzuia kwa kupitisha kuweka alama ya SOCK_NONBLOCK. kuunganisha () huzuia hadi kumaliza kupeana mkono kwa njia tatu za TCP. Kupeana mkono kwa upande wa kusikiliza kunashughulikiwa na mrundikano wa TCP/IP kwenye kernel na kukamilika bila kuarifu mchakato wa mtumiaji.

Vile vile, inaulizwa, ni nini tundu la kuzuia na lisilo la kuzuia?

Katika kuzuia hali, recv, tuma, unganisha (TCP pekee) na ukubali (TCP pekee) tundu Simu za API zitafanya kuzuia kwa muda usiojulikana hadi hatua iliyoombwa imefanywa. Katika yasiyo - kuzuia mode, kazi hizi hurudi mara moja. chagua mapenzi kuzuia mpaka tundu iko tayari.

kazi ya kuzuia ni nini? A kazi ya kuzuia kimsingi computes milele. Hiyo ndiyo maana yake kuzuia . Nyingine kazi za kuzuia ingesubiri IO kutokea. isiyo ya kuzuia Mfumo wa IO unamaanisha a kazi huanza kitendo cha IO, kisha hafanyi kitu kisha kushughulikia matokeo ya kitendo cha IO kinapotokea.

Baadaye, swali ni je, soketi inakubali kuzuia?

kukubali () huzuia mpigaji simu hadi muunganisho uwepo. Ikiwa hakuna nafasi ya ujumbe inapatikana kwenye tundu kushikilia ujumbe kupitishwa, kisha send() huzuia kawaida. Ikiwa hakuna ujumbe unaopatikana kwenye tundu , simu ya recv inasubiri ujumbe kufika.

Je, kuchagua block?

Ikiwa hoja ya kuisha itaelekeza kwenye kitu cha aina ya muda wa muundo ambao washiriki wake ni 0, chagua () haina kuzuia . Ikiwa hoja ya kuisha ni NULL, chagua () huzuia hadi tukio lifanye mojawapo ya vinyago kurejeshwa na thamani halali (isiyo ya sufuri).

Ilipendekeza: