2009-03-31 9 views
9

बंदरगाह से कितने सॉकेट बनाए जा सकते हैं?बंदरगाह से कितने सॉकेट बनाए जा सकते हैं?

+0

कहां शायद http://stackoverflow.com/questions/651665/how-many-socket-connections- संभावित – jonny

+0

शब्द "सुनो" शब्द का प्रयोग संदिग्ध है, सामान्य रूप से एक बंदरगाह पर एक सॉकेट नहीं सुनता है । Quesion है, "एक कार्यक्रम कितने बंदरगाह सुन सकते हैं?" या "एक बंदरगाह (या बंदरगाहों के सेट) से कितने सॉकेट बनाए जा सकते हैं?" – AnthonyWJones

उत्तर

5

यह एक ऑपरेटिंग सिस्टम सीमा है।

मूल रूप से प्रत्येक सॉकेट एक फ़ाइल वर्णनकर्ता की आवश्यकता होगी (लिनक्स/यूनिक्स मामले में, यह शायद Windows में बराबर है)। ओएस में प्रति-प्रक्रिया फ़ाइल डिस्क्रिप्टर सीमा होगी (250-1000 कहें) और यह ऊपरी सीमा होगी।

+1

असफल नहीं है। सुनना धागा कनेक्शन को दूसरे थ्रेड पर संभालने और फ़ाइल डिस्क्रिप्टर को तुरंत बंद कर सकता है। तो इसकी बजाय अधिकतम संख्या धागे प्रति थ्रेड फ़ाइल डिस्क्रिप्टर की अधिकतम संख्या। – artistoex

+0

@artistoex जिसमें ओएस की प्रति _process_ के बजाय प्रति _thread_ फ़ाइल डिस्क्रिप्टर की सीमा है? – tzot

+0

@tzot लिनक्स धागे के मूल रूप से _are_ प्रक्रियाओं के तहत। [क्लोन (2)] (https://linux.die.net/man/2/clone) पर एक नज़र डालें, जहां तक ​​मैं इसे समझता हूं, यह आपको थ्रेड बनाने की अनुमति देता है जो फ़ाइल डिस्क्रिप्टर साझा नहीं करते हैं। – artistoex

8

यह ऑपरेटिंग सिस्टम निर्भर है।

  • Windows के लिए, MaxConnections प्रवेश के लिए लग रही है here

  • लिनक्स के लिए, here देखने के रूप में प्रश्न पर टिप्पणी कहते हैं।

2

कि (अपनी प्रक्रिया के लिए उपलब्ध है कि मैं, जब आप एक दूरस्थ होस्ट/पोर्ट संयोजन करने के लिए एक कनेक्शन खोलने, आप भी एक बंदरगाह अपने अंत में की आवश्यकता होगी क्लाइंट साइड बंदरगाहों की संख्या से संचालित किया जाएगा)।

क्लाइंट साइड (या क्षणिक) बंदरगाहों की कुल मशीन आपकी मशीन पर सभी प्रक्रियाओं के लिए उपलब्ध कराई जाएगी। तो यह इस बात पर निर्भर करता है कि वर्तमान में और क्या चल रहा है।

बंदरगाहों और कॉन्फ़िगरेशन की संख्या ओएस निर्भर है। बस 'अधिकतम बंदरगाहों' के लिए Google और आपके ओएस के लिए Google।

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