दिलचस्प पोस्ट
JQuery / जावास्क्रिप्ट के साथ JSON डेटा को पार्स करने के लिए कैसे? अभी तक एक और getView कई बार कहा जाता है सेलेनियम – यूआरएल के जरिए बुनियादी प्रमाणीकरण के अन्य तरीके प्रारूप एक्सएमएल स्ट्रिंग को फ्रेंडली एक्सएमएल स्ट्रिंग प्रिंट करें छवि बिंदु से एक्स, वाई निर्देशांक (3 डी) कंप्यूटिंग stl :: multimap – मैं डेटा के समूह कैसे प्राप्त करूं? जावा में System.out.println का क्या अर्थ है? क्या कोई आर फ़ंक्शन है जो प्रत्येक जोड़ी कॉलम में फ़ंक्शन लागू करता है? जावा उपलब्ध स्मृति उपलब्ध है पायथन में एक सूची में एक सूची डालने के लिए वाक्यविन्यास क्या है? दो (या अधिक) वैक्टर से सभी तत्वों का अद्वितीय संयोजन कक्षा असंतुलन से निपटना: नुकसान में स्केलिंग योगदान और एसजीडी कैसे जाँचने के लिए कि एक सरणी PHP का उपयोग कर खाली है? HTML5 के साथ ऑडियो कैप्चरिंग अपलोड करने के लिए फ़ाइल में HTML5 कैनवास कन्वर्ट?

क्या कनेक्शन के कारण त्रुटियों से इनकार कर सकते हैं?

मैं सी में एक सर्वर प्रोग्राम लिखने का प्रयास कर रहा हूं, उदाहरण के लिए पोर्ट 2080 के माध्यम से कनेक्ट करने का प्रयास करते समय किसी अन्य क्लाइंट का उपयोग करके मुझे यह त्रुटि मिलती है।

connection refused 

इस त्रुटि के कारण क्या हो सकते हैं?

वेब के समाधान से एकत्रित समाधान "क्या कनेक्शन के कारण त्रुटियों से इनकार कर सकते हैं?"

कई कारण हो सकते हैं, लेकिन सबसे आम हैं:

  1. गंतव्य मशीन पर बंदरगाह खुला नहीं है।

  2. पोर्ट गंतव्य मशीन पर खुला है, लेकिन लंबित कनेक्शन का उसका बैकलॉग पूर्ण है।

  3. ग्राहक और सर्वर के बीच फ़ायरवॉल एक्सेस अवरुद्ध कर रहा है (स्थानीय फ़ायरवॉल भी जांचें)

फायरवॉल की जाँच करने के बाद और यह कि पोर्ट खुला है, कनेक्ट करने के लिए आईपी / पोर्ट से जुड़ने के लिए टेलनेट का उपयोग करें। यह आपके आवेदन से किसी भी संभावित समस्याओं को निकालता है।

त्रुटि का अर्थ है सुनने की सॉकेट के ओएस ने इनबाउंड कनेक्शन अनुरोध को मान्यता दी है लेकिन जानबूझकर इसे अस्वीकार करने का फैसला किया है।

एक मध्यवर्ती फ़ायरवॉल मानते हुए, इनबाउंड कनेक्शन अनुरोध को अस्वीकार करने के लिए ओएस के लिए केवल दो कारण (जो मैं जानता हूं) हैं। एक कारण पहले से कई बार उल्लेख किया गया है – सुन बंदरगाह के साथ जुड़ा हुआ है खुला नहीं है।

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

एक क्षण या तो रुको और फिर कनेक्शन का प्रयास करें दुर्भाग्य से, "बंदरगाह बिल्कुल भी खुला नहीं है" और "बंदरगाह खुला है लेकिन अभी बहुत व्यस्त है" के बीच अंतर करने का कोई रास्ता नहीं है। वे दोनों एक ही सामान्य त्रुटि कोड का उपयोग करते हैं

यदि आप किसी अन्य होस्ट के साथ एक टीसीपी कनेक्शन खोलने का प्रयास करते हैं और "कनेक्शन अस्वीकार कर दिया" त्रुटि देखते हैं, तो इसका मतलब है कि

  1. आपने अन्य होस्ट को एक टीसीपी SYN पैकेट भेजा है।
  2. तो आपको जवाब में एक टीसीपी आरएसटी पैकेट प्राप्त हुआ।

आरएसटी टीसीपी पैकेट पर थोड़ा सा है जो इंगित करता है कि कनेक्शन रीसेट होना चाहिए। आमतौर पर इसका अर्थ है कि अन्य होस्ट को आपका कनेक्शन प्रयास प्राप्त हुआ है और सक्रिय रूप से आपके टीसीपी कनेक्शन से इनकार कर रहा है, लेकिन कभी-कभी एक मध्यवर्ती फ़ायरवॉल आपके टीसीपी एसएनए पैकेट को ब्लॉक कर सकता है और एक टीसीपी आरएसटी आपको वापस भेज सकता है।

https://tools.ietf.org/html/rfc793 पृष्ठ 69 देखें:

SYN- प्राप्त राज्य

  If the RST bit is set If this connection was initiated with a passive OPEN (ie, came from the LISTEN state), then return this connection to LISTEN state and return. The user need not be informed. If this connection was initiated with an active OPEN (ie, came from SYN-SENT state) then the connection was refused, signal the user "connection refused". In either case, all segments on the retransmission queue should be removed. And in the active OPEN case, enter the CLOSED state and delete the TCB, and return. 

कनेक्शन से इनकार कर दिया गया है कि जिस पोर्ट को आप कनेक्ट करने का प्रयास कर रहे हैं वह वास्तव में खुला नहीं है।

इसलिए या तो आप गलत आईपी पते से या गलत पोर्ट से कनेक्ट हो रहे हैं, या सर्वर गलत पोर्ट को सुन रहा है या वास्तव में चल रहा है।

एक सामान्य गलती पोर्ट बाइट को निर्दिष्ट नहीं करती है, जब बाइटिंग या नेटवर्क बाइट क्रम में कनेक्ट हो रहा है …

सर्वर पक्ष पर चेक करें कि वह पोर्ट 2080 पर सुन रहा है। सबसे पहले इसे उस मशीन पर टेलनेट को जारी करके सर्वर मशीन पर इसकी पुष्टि करने का प्रयास करें:

टेलीनेट लोकलहोस्ट 2080

अगर यह सुन रहा है, तो यह जवाब देने में सक्षम है।

हालांकि यह आपकी स्थिति के मामले में नहीं प्रतीत होता है, कभी-कभी एक कनेक्शन से इनकार कर दिया गया त्रुटि भी संकेत दे सकता है कि आपके नेटवर्क पर एक आईपी पता संघर्ष है आप चलने के द्वारा संभव आईपी संघर्षों की खोज कर सकते हैं:

  arp-scan -I eth0 -l | grep <ipaddress> 

तथा

 arping <ipaddress> 

इस सवाल यूबन्तु के पास कुछ और जानकारी भी है।

1. अपने सर्वर की स्थिति की जांच करें

2. बंदरगाह स्थिति की जांच करें।

उदाहरण के लिए 3306 netstat -nupl|grep 3306

3. अपने फायरवॉल की जांच करें उदाहरण के लिए 3306 को जोड़ें

 vim /etc/sysconfig/iptables # add -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT 

चेकपॉइंट फ़ायरवॉल के दृष्टिकोण से, आप फ़ायरवॉल से एक संदेश देखेंगे यदि आप वास्तव में एक ऐक्शन के रूप में अस्वीकार करते हैं जिससे प्रक्षेपी हमलावर को सर्वर के सामने फ़ायरवॉल की उपस्थिति के रूप में सामने आना होगा। फ़ायरवॉल चुपचाप सभी कनेक्शन छोड़ देगा जो नीति से मेल नहीं खाता है। कनेक्शन ने लगभग हमेशा से सर्वर से आना मना किया

मुझे अपने कंप्यूटर के साथ एक ही समस्या है समस्या यह है कि जब आप लोकलहोस्ट दर्ज करते हैं तो यह प्रॉक्सी के पते पर जाता है, स्थानीय पता नहीं है, इसे बायपास करना चाहिए, यह इस कदम का पालन करें

क्रोम => सेटिंग्स => प्रॉक्सी सेटिंग्स बदलें => LAN सेटिंग्स => स्थानीय पते के लिए बायपास प्रॉक्सी सर्वर की जांच करें।

Ubuntu में, sudo ufw allow <port_number> को अपने सर्वर और डीबी दोनों तक फ़ायरवॉल पहुंच की अनुमति sudo ufw allow <port_number> कोशिश करें।

मेरे पास एक ही संदेश था जो पूरी तरह से अलग कारण था: wsock32.dll नहीं मिला। ::socket(PF_INET, SOCK_STREAM, 0); कॉल ने एक INVALID_SOCKET लौटाया लेकिन इसका कारण यह था कि winsock dll लोड नहीं किया गया था।

अंत में मैंने सिसोनेंटल की प्रक्रिया मॉनीटर लॉन्च किया और देखा कि यह डीएलएल 'हर जगह' की खोज की थी लेकिन उसे नहीं मिला।

मौन विफलता महान हैं!