जब आप एक टीसीपी कनेक्शन स्थापित करते हैं, तो 4-टपल (सोर्स-आईपी, सोर्स-पोर्ट, डेस्ट-आईपी, डेस्ट-पोर्ट) को विशिष्ट होना पड़ता है - यह सुनिश्चित करने के लिए है कि पैकेट को सही जगह पर पहुंचाया जाए।
सर्वर पर आगे प्रतिबंध है ओर कि केवल एक सर्वर प्रोग्राम एक आने वाले पोर्ट नंबर (एक आईपी पते को मानते हुए; मल्टी-एनआईसी सर्वरों के पास अन्य शक्तियां हैं, लेकिन हम उन्हें यहां चर्चा करने की आवश्यकता नहीं है) से बांध सकते हैं।
तो, सर्वर अंत में, आप:
- एक सॉकेट बनाएं।
- उस सॉकेट को एक पोर्ट से बांधें।
- उस बंदरगाह पर सुनो।
- उस पोर्ट पर कनेक्शन स्वीकार करें। और (ग्राहक प्रति एक) में कई कनेक्शन आ सकते हैं।
ग्राहक के अंत में, यह आमतौर पर थोड़ा सरल होता है:
- एक सॉकेट बनाएं।
- कनेक्शन खोलें। जब कोई क्लाइंट कनेक्शन खोलता है, तो यह सर्वर का आईपी पता और पोर्ट निर्दिष्ट करता है । यह अपने स्रोत पोर्ट को निर्दिष्ट कर सकता है लेकिन आमतौर पर शून्य का उपयोग करता है जो सिस्टम में परिणाम देता है यह स्वचालित रूप से एक मुफ्त पोर्ट निर्दिष्ट करता है।
नहीं है कोई आवश्यकता है कि गंतव्य IP / पोर्ट अद्वितीय हो क्योंकि इसके परिणामस्वरूप एक समय में केवल एक ही व्यक्ति Google का उपयोग कर पाएगा, और यह उनके व्यवसाय मॉडल को अच्छी तरह से नष्ट कर देगा।
इसका अर्थ है कि आप कई सत्रों की स्थापना के बाद से ऐसी चमत्कारिक चीजें भी कर सकते हैं जैसे कि आप कई सत्रों में सेट करते हैं जहां एकमात्र अंतर आपके स्रोत पोर्ट है, जिससे आप समानांतर में विखंडू डाउनलोड कर सकते हैं। Torrents थोड़ा अलग हैं कि प्रत्येक सत्र का गंतव्य आमतौर पर अलग होता है।
और, उस सब के बाद वेफलिंग (क्षमा करें), आपके विशिष्ट प्रश्न का उत्तर यह है कि आपको एक मुफ्त पोर्ट निर्दिष्ट करने की आवश्यकता नहीं है। यदि आप किसी ऐसे सर्वर से सर्वर से जुड़ रहे हैं जो आपके स्रोत पोर्ट को निर्दिष्ट नहीं करता है, तो यह निश्चित रूप से कवर के तहत शून्य का उपयोग करेगा और सिस्टम आपको अप्रयुक्त एक देगा।