आपको गलत समझ में आता है कि सेवा का क्या मतलब है। एक उदाहरण इस तरह की दर पर पहुंचने वाले एक वेब-सर्वर पर बड़ी संख्या में HTTP अनुरोध होंगे कि वेब-सर्वर सॉफ़्टवेयर इतना व्यस्त हो जाता है कि यह नए टीसीपी कनेक्शन स्वीकार नहीं कर सकता है। विकिपीडिया का DoS पर एक सभ्य लेख है, इसे पढ़ें।
recv(2)
सिर्फ एक एपीआई है। इसका दुरुपयोग, किसी अन्य बग के रूप में, डीओएस समेत मुद्दों का कारण बन सकता है। लेकिन इसका मतलब यह नहीं है कि आपको इससे बचना चाहिए। आपकी समस्या को अन्य सॉकेट ब्लॉक कर रहा है, जबकि पढ़ने पर इंतजार कर, select(2)
, poll(2)
, और epoll(4)
में के रूप में गैर अवरुद्ध सॉकेट और आई/ओ बहुसंकेतन पर गौर।
स्रोत
2010-08-09 01:50:05
हाँ मैं जानना चाहता हूं कि क्या मैं recv() का उपयोग करता हूं, क्या यह डीओएस का कारण बन सकता है? चूंकि सर्वर लंबे समय तक प्रतीक्षा कर सकता है। उदाहरण के लिए यदि मेरा संदेश आकार बहुत बड़ा है। – mousey
ध्यान दें कि सॉकेट पर टाइमआउट सेट कर सकते हैं और आरईवी पर अधिकतम बफर आकार सेट कर सकते हैं, इसलिए दुर्व्यवहार के अवसर सीमित हो सकते हैं। मुझे लगता है कि अगर आपके पास एक ही प्रक्रिया है तो एक अवांछित सहकर्मी आपको सेवा बाधाओं के इनकार के रूप में धीरे-धीरे कई बाइट भेज सकता है ... – MZB