मैं पी 2 पी एप्लिकेशन जो पोर्ट 30000 पर काम करता है, डिज़ाइन कर रहा हूं। मेरा राउटर UPnP नहीं है इसलिए मुझे एक पोर्ट को राउटर में अग्रेषित करने की आवश्यकता है। लेकिन स्काइप एक और पी 2 पी एप्लीकेशन मेरे पीसी पर पोर्ट अग्रेषण के बिना काम करता है। जब मैंने इसे वायरशर्क के साथ विश्लेषण किया तो मैंने इसे यूडीपी पोर्ट 48 9 80, 58544 का उपयोग किया। मैं सी ++ का उपयोग कर रहा हूं।स्काइप बंदरगाह अग्रेषण के बिना कैसे काम करता है?
पाइथन here में एक लाइब्रेरी है जो नेट पीएनपी राउटर के लिए करता है। राउटर और ऑपरेटिंग सिस्टम के बावजूद राउटर पर पोर्टेट को प्रोग्रामेटिक रूप से आगे करना संभव है? सी ++ या किसी अन्य भाषा में ऐसा करने का दृष्टिकोण क्या होना चाहिए।
लेकिन सवाल यह है कि ग्राहक के आईपी सार्वजनिक हैं? उदाहरण के लिए देखें बी को संवाद करने की आवश्यकता है और सर्वर बी के आईपी को जानता है लेकिन यह किस आईपी का उपयोग करता है? अगर ऐसा कोई मामला है तो आप किसी भी आईपी को पिंग कर सकते हैं? क्षमा करें अगर यह बेवकूफ –
है, तो यह उत्तर केवल बी का वर्णन करता है और बी को संचार करने में विफल रहता है और सर्वर बी को सही आईपी/पोर्ट संयोजन भेजता है। इसमें मुख्य बिंदु गुम है, जिसे छेद पंचिंग कहा जाता है और यह लिंक में बहुत अच्छी तरह वर्णित है @MartinBeckett द्वारा प्रदान की गई। मैं बस इतना जोड़ूंगा कि राउटर और ऑपरेटिंग सिस्टम के प्रकार को अनजाने में पोर्ट को अग्रेषित करना भी संभव है, बशर्ते राउटर यूपीएनपी का समर्थन करता हो। – Igor
@rein तो सममित एनएटी के बारे में क्या? – onmyway133