Қосылу бұғатталады ма?
Қосылу бұғатталады ма?

Бейне: Қосылу бұғатталады ма?

Бейне: Қосылу бұғатталады ма?
Бейне: Минет харамба?Минет жасауға болама? 2024, Қараша
Anonim

қосылу Бұл блоктау әдепкі бойынша қоңырау шалыңыз, бірақ оны жоқ ете аласыз блоктау SOCK_NONBLOCK жалаушасының ұясына өту арқылы. қосылу () TCP 3 жақты қол алысуды аяқтағанша блоктайды. Тыңдау жағындағы қол алысу ядродағы TCP/IP стекімен өңделеді және пайдаланушы процесін ескертпей аяқталады.

Сол сияқты, блоктаушы және блоктамайтын розетка деген не?

жылы блоктау режимі, қабылдау, жіберу, қосу (тек TCP) және қабылдау (тек TCP) розетка API қоңыраулары болады блок сұралған әрекет орындалғанға дейін шексіз. жылы жоқ - блоктау режимінде бұл функциялар дереу қайтарылады. ерік таңдау блок дейін розетка дайын.

блоктау функциясы дегеніміз не? А блоктау функциясы негізінен мәңгілік есептейді. Бұл дегеніміз осы блоктау . Басқа блоктау функциялары IO пайда болғанша күтеді. емес блоктау IO жүйесі а дегенді білдіреді функциясы IO әрекетін бастайды, содан кейін әрекетсіз қалады, содан кейін ол орын алған кезде IO әрекетінің нәтижесін өңдейді.

Содан кейін сұрақ туындайды: розетка блоктауды қабылдай ма?

қабылдау () байланыс орнатылғанша қоңырау шалушыны блоктайды. Хабарламалар орнында бос орын болмаса розетка жіберілетін хабарды ұстап тұру үшін send() әдетте блоктайды. Егер хабарламалар қол жетімді болмаса розетка , recv қоңырауы хабардың келуін күтеді.

Блок таңдау ма?

Егер күту уақыты аргументі мүшелері 0 болатын struct timeval түріндегі нысанды көрсетсе, таңдаңыз () болмайды блок . Егер күту уақытының аргументі NULL болса, таңдаңыз () оқиға маскалардың біреуін жарамды (нөлден емес) мәнмен қайтаруға себеп болғанша блоктайды.

Ұсынылған: