मैं एक कस्टम टीसीपी सर्वर और क्लाइंट लिख रहा हूं और अनुरोधों का एक टन (60,000 सटीक होना) पर मुझे 10048 की सॉकेट त्रुटि प्राप्त करना शुरू होता है, जो should mean "पता पहले से उपयोग में है।"ग्राहक पर 10048 की सॉकेट त्रुटियां? संभावित कारण?
त्रुटि तब तक होती रहती है जब तक कि मैं 2 या 3 मिनट की प्रक्रिया को रोक नहीं पाता और फिर इसे फिर से शुरू करता हूं, और फिर यह पुनरारंभ करने के बाद थोड़ी सी त्रुटि को शुरू करने लगता है। अगर मैं क्लाइंट प्रक्रिया को रोकता हूं और सर्वर प्रक्रिया को पुनरारंभ करता हूं, तो मुझे अभी भी क्लाइंट पर एक ही त्रुटि मिलती है। तो यह एक पूर्ण ग्राहक पक्ष की समस्या है।
यह समझ में नहीं आता है, हालांकि यह त्रुटि केवल तभी होती है जब बाध्यकारी हो और यह त्रुटि क्लाइंट पर होती है न कि सर्वर पर। इसके लिए संभावित कारण क्या हो सकते हैं?
मेरी आरंभीकरण का एक छोटा सा अंश:
TcpClient client = new TcpClient();
client.Connect("XXXXX -- some ip", 25000);
client.NoDelay = true;
NetworkStream clientStream = client.GetStream();
इसके अलावा, सब कुछ किसी और (समय इसे आगे और पीछे भेजने के लिए ले जाता है की राशि सहित) काम कर ठीक लग रहा है और इस पूरी तरह से काम करता है जब 127.0.0.1
का उपयोग कर, लेकिन जब इसे एक और लैन कंप्यूटर पर डालने पर मुझे 10048 त्रुटि मिलनी शुरू हो गई।
क्या मैं इसे प्रारंभ करने में कुछ गड़बड़ कर रहा हूं? क्लाइंट पक्ष पर यह त्रुटि और क्या कारण हो सकती है?
मैं 'जोड़ा client.LingerState = नए LingerOption (गलत, 0);' और का उपयोग कर netstat, अपने अधिकार, मैं TIME_WAIT में कनेक्शन की एक बकवास लोड – Earlz
मेरा मतलब है, मेरे पास अभी भी 'LingerState' बिट – Earlz
जोड़ने के बाद बहुत समय TIME_WAIT है ReuseAddr भी मदद नहीं करता है। – Earlz