आप जो चाहें पोर्ट पर सुन सकते हैं; आमतौर पर, उपयोगकर्ता अनुप्रयोगों को 1024 और उससे अधिक (65535 के माध्यम से) पोर्ट को सुनना चाहिए। यदि आपके पास श्रोताओं की एक चर संख्या है, तो मुख्य बात यह है कि अपने ऐप में एक रेंज आवंटित करें - 20000-21000, और CATCH EXCEPTIONS । यह है कि कैसे आप जानते हैं कि आपके कंप्यूटर पर एक पोर्ट अनुपयोगी है (किसी अन्य प्रक्रिया द्वारा, दूसरे शब्दों में उपयोग किया जाता है)।
हालाँकि, आपके मामले में, आपको अपने श्रोता के लिए एक एकल हार्ड-कोडेड पोर्ट का उपयोग करने में कोई समस्या नहीं होनी चाहिए, जब तक कि आप एक त्रुटि संदेश प्रिंट नहीं करते हैं जब बाइंड विफल हो जाता है।
यह भी ध्यान दें कि आपके अधिकांश सॉकेट (दासों के लिए) को विशिष्ट पोर्ट संख्याओं के लिए स्पष्ट रूप से बाध्य होने की आवश्यकता नहीं है - केवल सॉकेट्स जो आने वाले कनेक्शनों की प्रतीक्षा करते हैं (जैसे कि आपके मास्टर की तरह) को एक श्रोता और बंदरगाह के लिए बाध्य करने की आवश्यकता होगी। यदि पोर्ट का उपयोग करने से पहले सॉकेट के लिए निर्दिष्ट नहीं किया गया है, तो ओएस सॉकेट के लिए एक प्रयोग करने योग्य पोर्ट असाइन करेगा। जब मास्टर एक गुलाम को जवाब देना चाहता है जो इसे डेटा भेजता है, तो श्रोता का पता सुलभ होता है जब श्रोता डेटा प्राप्त करता है।
मुझे लगता है कि आप इसके लिए यूडीपी का उपयोग करेंगे?