से Beej's Guide to Network programmingAF_UNSPEC का उपयोग करने के नुकसान/जोखिम क्या होंगे?
आप जो कुछ भी उपयोग करने के लिए AF_UNSPEC रूप ai_family क्षेत्र में आईपीवी 4 या आईपीवी 6 उपयोग करने के लिए, या छोड़ यह मजबूर कर सकते हैं। यह अच्छा है क्योंकि आपका कोड आईपी संस्करण-अज्ञेयवादी हो सकता है।
शीर्षक के रूप में कहते हैं - क्या नुकसान (या जोखिम, यदि कोई हो) होगा की हमेशा बजाय आईपीवी 4 या आईपीवी 6 को निर्दिष्ट करने की, AF_UNSPEC
का उपयोग कर?
या यह केवल एक कारण के लिए है - यदि संस्करण निर्दिष्ट है, तो यह गारंटी देगा कि यह और केवल यह संस्करण समर्थित है?
एक छोटी सी पृष्ठभूमि - मैं क्लाइंट-सर्वर (C++) अनुप्रयोगों में IPv6 के लिए समर्थन जोड़ने के बारे में सोचते हैं और दोनों संस्करणों का समर्थन किया जाना चाहिए। तो मुझे आश्चर्य हुआ कि AF_UNSPEC
का उपयोग करना ठीक है या स्ट्रिंग से पते को पहचानना बेहतर है और पते के आधार पर AF_INET6
या AF_INET
का उपयोग करना बेहतर है।
धन्यवाद। मैंने टैग में से एक को 'यूनिक्स' में बदल दिया। तो, मेरा सवाल लिनक्स के बारे में है। मैंने 'AF_UNSPEC' के साथ प्रयास किया और यह दोनों संस्करणों के लिए सही काम करता प्रतीत होता है। मैंने सोचा कि क्या मैं इसे इस तरह इस्तेमाल कर सकता हूं, या कई सॉकेट से निपटना बेहतर है। –
http://stackoverflow.com/questions/8113805/usage-of-getaddrinfo-with-ai-passive पर देखें। मैंने इसके बारे में एक निष्कर्ष लिखा ... – glglgl
आह, अब मैं देखता हूं। यह समझने में मुझे इतना समय लगा कि आपका क्या मतलब है: डी मैं बस नेटवर्क प्रोग्रामिंग के लिए नया हूं। धन्यवाद, +1 और स्वीकार किया गया (भले ही यह वास्तव में अपने शीर्षक में प्रश्न का उत्तर नहीं देता है, लेकिन मुझे अपने दिमाग को साफ़ करने में मदद मिली :)) –