लघु उत्तर: यह कर सकते हैं ' विश्वसनीय रूप से नहीं किया जा सकता है।
लांग उत्तर:
"होल छिद्रण" आदेश भीतर का यातायात अनुमति देने के लिए एक रूटर के स्वत: नेट नियम को ट्रिगर करने के लिए संदर्भित करता है। जब आप एक यूडीपी पैकेट भेजते हैं, राउटर (आमतौर पर) आपके स्रोत पते और बंदरगाह को गंतव्य पते और बंदरगाह पर मैपिंग करने के लिए एक अस्थायी नियम बनाता है, और इसके विपरीत। गंतव्य पते और बंदरगाह (और कोई अन्य) से लौटने वाले यूडीपी पैकेट मूल स्रोत पते और बंदरगाह (और कोई अन्य) तक पारित नहीं होते हैं। निष्क्रियता कुछ मिनटों के बाद यह नियम समय-समय पर समाप्त हो जाएगा।
यह काम करने के लिए प्राप्त करना जब दोनों एंड-पॉइंट एनएटी या फ़ायरवॉल के पीछे हैं, तो दोनों अंत-बिंदुओं को एक ही समय में एक-दूसरे को पैकेट भेजना होगा। इसका मतलब है कि दोनों पक्षों को प्रत्येक-दूसरे के सार्वजनिक आईपी पते और पोर्ट नंबरों को जानने की आवश्यकता है और इसे किसी अन्य माध्यम से किसी अन्य माध्यम से संवाद करने की आवश्यकता है।
किसी प्रोग्राम के लिए एनएटी के पीछे होने पर सीधे अपने सार्वजनिक आईपी पते को निर्धारित करने का कोई तरीका नहीं है (यह केवल 192.168.x.x
जैसे निजी पता ही देखेंगे)। लेकिन चूंकि आप यह मान रहे हैं कि इंसानों को एक दूसरे के आईपी पते पता है, वे इंसान सिर्फ दूसरे के पते में टाइप कर सकते हैं।
लेकिन वास्तविक पकड़ यह है कि कार्यक्रम के लिए सीधे यह निर्धारित करने का कोई तरीका नहीं है कि सार्वजनिक पक्ष पर राउटर किस पोर्ट नंबर का उपयोग कर रहा है। आपका प्रोग्राम स्थानीय मशीन पर 12345 तक बाध्य हो सकता है, लेकिन राउटर सार्वजनिक पक्ष पर लगभग किसी भी बंदरगाह को मैप कर सकता है। (पोर्ट 12345 से बाहर भेजकर अपने स्थानीय नेटवर्क पर दो कंप्यूटरों की कल्पना करें, जाहिर है कि राउटर को उनमें से एक को एक अलग नंबर पर मैप करना होगा।) भले ही आप और इंसान जानते हों कि आप किस स्थानीय पोर्ट नंबर से बंधे हैं, वहां यह जानने का कोई तरीका नहीं है कि राउटर किस पोर्ट नंबर को दुनिया में दिखाएगा।
स्रोत
2012-01-17 20:04:04
के संभावित शिकार: http://stackoverflow.com/questions/8523330/programming-p2p-application/8524609#8524609 – selbie
कोई साधारण समारोह है कि आप सिर्फ इतना है कि इच्छा कॉल कर सकते हैं है अपने सभी एनएटी ट्रैवर्सल समस्याओं को हल करें। एनएटी ट्रैवर्सल और पी 2 पी पर लंबी चर्चा के लिए उपरोक्त लिंक देखें। – selbie