मैं विंडोज 7 में स्टनल के दो उदाहरण चला रहा हूं, उसी पोर्ट को सुनने के लिए कॉन्फ़िगर किया गया है, और ऐसा प्रतीत होता है कि वे दोनों एक ही पोर्ट पर सफलतापूर्वक सुन रहे हैं (केवल सॉकेट()/बाइंड()/सुनो() का उपयोग कर रहे हैं। दोनों उदाहरणों सभी कॉल्स के साथ सफल होने के लिए दिखाई देते हैं और वे एक netstat में दिखाने:विंडोज 7 में एक ही बंदरगाह को दो प्रक्रियाओं को कैसे सुन रहे हैं?
C:\>netstat -ano | grep 8000
TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING 5828
TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING 5852
पहले एक सुनने के लिए आने वाले सभी अनुरोधों हो जाता है।
यह मेरी सभी अपेक्षाओं के विपरीत काफी विपरीत है। (मैं उम्मीद कर रहा था कि EADDRINUSE मुझे पोर्ट बता रहा था व्यस्त था।) तो ....
- यह कैसे काम करता है? क्या यह व्यवहार कुछ संदर्भ में उपयोगी है?
- यदि कोई अन्य एप्लिकेशन इनकमिंग अनुरोधों को पकड़ने जा रहा है तो मैं सफल रन नहीं चाहता हूं ... मैं पोर्ट को अनन्य कैसे बना सकता हूं?
धन्यवाद, मैंने सोचा था कि ध्वज उसी नाम के यूनिक्स ध्वज के समान था। एमएसडीएन प्रबुद्ध था: http: //msdn.microsoft.com/en-us/library/windows/desktop/ms740621(v=vs.85).aspx – Olson