ब्लॉकिंग/गैर-अवरुद्ध मोड कहता है कि अगर फ़्रेड/फ़्राइट फ़ंक्शन तत्काल वापस आ जाएंगे। non-blocking mode
में, वे किसी भी उपलब्ध डेटा पर वापस आ जाएंगे। यदि समारोह लागू होने पर कोई डेटा नहीं पढ़ा जा सकता है, तो कोई भी वापस नहीं किया जाएगा। इस तरह की धाराओं को एक लूप में लगाया जाता है।
blocking mode
में, फ़ंक्शन हमेशा (और इसलिए अपने प्रोग्राम निष्पादन को अवरुद्ध कर देगा) प्रतीक्षा करें, जब तक कि यह पूर्ण पढ़ने के अनुरोध को पूरा न कर सके। यदि आप किसी नेटवर्क सॉकेट से 1 एमबी पढ़ने के लिए कहते हैं, तो फ़ंक्शन तब तक वापस नहीं आएगा जब तक इसे पास करने के लिए 1 एमबी प्राप्त नहीं हो जाता है।
मुझे लगता है कि विकिपीडिया यह काफी अच्छी तरह से शामिल किया गया है:
http://en.wikipedia.org/wiki/Berkeley_sockets#Blocking_vs._non-blocking_mode
यह ज्यादातर नेटवर्क फ़ाइल/धारा स्रोतों पर प्रभाव पड़ता है। स्थानीय फाइल सिस्टम के लिए ऑपरेटिंग सिस्टम हमेशा डेटा की वांछित लंबाई को पढ़ेगा। PHP में stream wrappers भी है, जो कि अपने विवेकाधिकार पर उस विकल्प को संभाल सकता है (कोई विश्वसनीय सामान्य नियम नहीं है)।
अधिक निम्न स्तर के विवरण के लिए, fnctl की manpages जाएँ (2) या (2) सॉकेट या
http://www.scottklement.com/rpg/socktut/nonblocking.html
बहुत उपयोगी है, धन्यवाद! –
भयानक, आप चट्टानों – Muhammad