2017-12-27 17 views

उत्तर

140

ऐसा इसलिए है क्योंकि कोलन के बाद या तो पोर्ट नंबर या सेवा का नाम हो सकता है।

listener, err := net.Listen("tcp", "localhost:https") // port 443 
// ... 

किसी विशेष सेवा के लिए पोर्ट मानचित्रण net.LookupPort का उपयोग कर देखा जा सकता है:

निम्नलिखित एक वैध उदाहरण है जहाँ सेवा का नाम एक पोर्ट संख्या के बजाय प्रयोग किया जाता है। यूनिक्स सिस्टम पर, /etc/services फ़ाइल मैपिंग के लिए सोर्स की गई है।

+1

मैं हमेशा खुले प्रकार/बंद प्रकार के डिचोटोमी द्वारा चिंतित हूं। मैं _mixed_ प्रकार जैसा कुछ देखना चाहता हूं जहां कुछ डिफ़ॉल्ट हैं (यहां उदा। प्रसिद्ध बंदरगाहों और सेवाओं) लेकिन अंततः स्वत: पूर्णता का समर्थन करने के लिए उन्हें विस्तारित करने की अनुमति भी मिलती है। मेरे सीमित कामकाजी ज्ञान में टाइपऑन एडीटी निकटतम आते हैं, शायद स्विफ्ट एडीटी इसे सीधे व्यक्त कर सकते हैं। –

1

एक नंबर के लिए डिफ़ॉल्ट मान 0 है: एक समारोह अगर

func (u * URL) Port() string 

वापसी बजाय बंदरगाह डंक की संख्या 0

पोर्ट 0 हो जाएगा टीसीपी/आईपी नेटवर्किंग में एक आरक्षित बंदरगाह, है, जिसका अर्थ कि इसका उपयोग टीसीपी या यूडीपी संदेशों में नहीं किया जाना चाहिए। हालांकि, पोर्ट प्रोग्रामिंग में विशेष रूप से यूनिक्स सॉकेट प्रोग्रामिंग में बंदरगाह 0 विशेष महत्व रखता है: सिस्टम-आवंटित, गतिशील बंदरगाहों का अनुरोध करने के लिए।

यह कई कार्यों में प्रोग्रामिंग की आवश्यकता है

संबंधित मुद्दे