दिलचस्प पोस्ट
एनएटी (विनफॉर्म्स) में किसी रूप में नियंत्रण केंद्रों पर केंद्रित है? स्थूल खोज / फ़िल्टरिंग कैसे डिज़ाइन करें? IPhone पर एक 3D मॉडल प्रदर्शित करना चाहते हैं: आरंभ करने के लिए कैसे? खिड़की.क्योंकि आईपैड पर काम नहीं कर रहा है? मैं लिनक्स में C ++ कोड को कैसे चल सकता हूं? अनूठा_पीटआर और साझा_पीटीआर के बीच मतभेद जब कोई उपयोगकर्ता एक वेब पेज छोड़ता है, तो यह पता लगाने का सर्वोत्तम तरीका है? कैसे आर स्ट्रिंग में बैकस्लैश से बचें पासवर्ड के लिए स्ट्रिंग के ऊपर चार पसंदीदा क्यों हैं? jQuery.ajax हैंडलिंग प्रतिक्रियाएं जारी रखें: "सफलता:" बनाम ".done"? आप Node.js में डाक डेटा कैसे निकाल सकते हैं? अस्थायी बिंदु समानता का परीक्षण करना फ्रेगमेंट के लिए थीम सेट करें यदि मेरे वर्कस्टेशन लॉक होने पर मैं प्रोग्राम को निर्धारित कर सकता हूं? एंड्रॉइड स्टूडियो में * .so पुस्तकालय कैसे शामिल करें?

java.net.ConnectException: कनेक्शन अस्वीकार कर दिया

मैं एक टीसीपी कनेक्शन को लागू करने की कोशिश कर रहा हूं, सब कुछ सर्वर की ओर से ठीक काम करता है, लेकिन जब मैं क्लाइंट प्रोग्राम (क्लाइंट कंप्यूटर से) चलाता हूं, तो मुझे निम्न त्रुटि मिलती है:

java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.<init>(Socket.java:375) at java.net.Socket.<init>(Socket.java:189) at TCPClient.main(TCPClient.java:13) 

मैंने गर्तिका संख्या बदलने की कोशिश की, अगर यह प्रयोग में थी, लेकिन कोई फायदा नहीं हुआ, क्या किसी को पता है कि यह त्रुटि क्या है और इसे कैसे ठीक करें?

सर्वर कोड:

 //TCPServer.java import java.io.*; import java.net.*; class TCPServer { public static void main(String argv[]) throws Exception { String fromclient; String toclient; ServerSocket Server = new ServerSocket(5000); System.out.println("TCPServer Waiting for client on port 5000"); while (true) { Socket connected = Server.accept(); System.out.println(" THE CLIENT" + " " + connected.getInetAddress() + ":" + connected.getPort() + " IS CONNECTED "); BufferedReader inFromUser = new BufferedReader( new InputStreamReader(System.in)); BufferedReader inFromClient = new BufferedReader( new InputStreamReader(connected.getInputStream())); PrintWriter outToClient = new PrintWriter( connected.getOutputStream(), true); while (true) { System.out.println("SEND(Type Q or q to Quit):"); toclient = inFromUser.readLine(); if (toclient.equals("q") || toclient.equals("Q")) { outToClient.println(toclient); connected.close(); break; } else { outToClient.println(toclient); } fromclient = inFromClient.readLine(); if (fromclient.equals("q") || fromclient.equals("Q")) { connected.close(); break; } else { System.out.println("RECIEVED:" + fromclient); } } } } } 

क्लाइंट कोड:

 //TCPClient.java import java.io.*; import java.net.*; class TCPClient { public static void main(String argv[]) throws Exception { String FromServer; String ToServer; Socket clientSocket = new Socket("localhost", 5000); BufferedReader inFromUser = new BufferedReader(new InputStreamReader( System.in)); PrintWriter outToServer = new PrintWriter( clientSocket.getOutputStream(), true); BufferedReader inFromServer = new BufferedReader(new InputStreamReader( clientSocket.getInputStream())); while (true) { FromServer = inFromServer.readLine(); if (FromServer.equals("q") || FromServer.equals("Q")) { clientSocket.close(); break; } else { System.out.println("RECIEVED:" + FromServer); System.out.println("SEND(Type Q or q to Quit):"); ToServer = inFromUser.readLine(); if (ToServer.equals("Q") || ToServer.equals("q")) { outToServer.println(ToServer); clientSocket.close(); break; } else { outToServer.println(ToServer); } } } } } 

वेब के समाधान से एकत्रित समाधान "java.net.ConnectException: कनेक्शन अस्वीकार कर दिया"

यह अपवाद आम तौर पर तब होता है जब आईपी / पोर्ट पर कोई सेवा सुनना नहीं है जो आप कनेक्ट करने का प्रयास कर रहे हैं। हालांकि, कई चीजें इस त्रुटि के कारण हो सकती हैं:

  • आप गलत आईपी / पोर्ट से कनेक्ट करने का प्रयास कर रहे हैं।
  • आपने अपना सर्वर प्रारंभ नहीं किया है
  • आपका सर्वर कनेक्शन के लिए नहीं सुन रहा है
  • आपके सर्वर में स्वीकार्य होने के लिए बहुत सारे लंबित कनेक्शन हैं।
  • फ़ायरवॉल आपके सर्वर तक पहुंचने से पहले आपका कनेक्शन अवरुद्ध कर रहा है

मैं जांच करूंगा:

  • होस्ट नाम और पोर्ट जिसे आप कनेक्ट करने का प्रयास कर रहे हैं
  • सर्वर पक्ष ने सही तरीके से सुनना शुरू कर दिया है
  • कोई फ़ायरवॉल कनेक्शन को अवरुद्ध नहीं कर रहा है

सबसे आसान शुरुआती बिंदु शायद टेलनेट या पुटीटी का उपयोग करके क्लाइंट मशीन से मैन्युअल रूप से कनेक्ट करने का प्रयास करना है। यदि वह सफल होता है, तो समस्या आपके क्लाइंट कोड में है अगर ऐसा नहीं होता है, तो आपको यह जानने की आवश्यकता है कि ऐसा क्यों नहीं है। वायरस हार्क इस मोर्चे पर आपकी सहायता कर सकता है।

आपको अपने क्लाइंट सॉकेट को रिमोट सर्वरसेकेट से कनेक्ट करना होगा। के बजाय

Socket clientSocket = new Socket("localhost", 5000);

कर

Socket clientSocket = new Socket(serverName, 5000);

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

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

मुझे मक्का रेट ब्रोकर के साथ वही समस्या थी जो कि vernemq बुलाया था। लेकिन निम्नलिखित को जोड़कर इसे हल किया।

  1. $ sudo vmq-admin listener show

सूची को दिखाने के लिए ओएस और vernemq के लिए बंदरगाहों की अनुमति दी

  1. $ sudo vmq-admin listener start port=1885 -a 0.0.0.0 --mountpoint /appname --nr_of_acceptors=10 --max_connections=20000

किसी भी आईपी और अपने नए पोर्ट जोड़ने के लिए अब यू किसी भी समस्या के बिना कनेक्ट करने में सक्षम होना चाहिए।

आशा है कि यह आपकी समस्या को हल करता है यहां छवि विवरण दर्ज करें

मुझे एक ही समस्या थी, लेकिन क्लाइंट को चलने से पहले उसे सर्वर पर चलाना ठीक था

आशा है कि मेरा अनुभव किसी के लिए उपयोगी हो सकता है मुझे एक ही अपवाद स्टैक ट्रेस के साथ समस्या का सामना करना पड़ा और मैं समझ नहीं सका कि समस्या क्या थी डेटाबेस सर्वर जो मैं कनेक्ट करने का प्रयास कर रहा था, चल रहा था और पोर्ट खुला था और कनेक्शन स्वीकार कर रहा था।

समस्या इंटरनेट कनेक्शन के साथ थी जिस इंटरनेट कनेक्शन का मैं उपयोग कर रहा था उसे संगत सर्वर से कनेक्ट करने की अनुमति नहीं थी। जब मैंने कनेक्शन का विवरण बदल दिया, तो समस्या हल हो गई।

मुझे यह त्रुटि I closed ServerSocket inside a for loop क्योंकि I closed ServerSocket inside a for loop ग्राहकों की संख्या को स्वीकार करने की कोशिश करता है (मैंने सभी क्लिक्स को स्वीकार नहीं किया था)

इसलिए सावधान रहें कि आपकी सॉकेट को बंद करने के लिए

मेरे मामले में, मैंने गर्तिका को सर्वर का नाम दिया (मेरे मामले में "रास्पबेरीपी"), और इसके बजाय एक आईपीवी 4 एड्रेस बना दिया, या निर्दिष्ट करने के लिए, आईपीवी 6 टूट गया था (नाम एक आईपीवी 6 को हल किया गया)

पोर्ट नंबर हमेशा दोनों के अंत में भिन्न होता है

मुझे एक ही समस्या थी और समस्या यह थी कि मैं सॉकेट ऑब्जेक्ट बंद नहीं कर रहा था। सॉकेट के उपयोग के बाद। क्लोज (); समस्या सुलझ गयी। यह कोड मेरे लिए काम करता है

ClientDemo.java

 public class ClientDemo { public static void main(String[] args) throws UnknownHostException, IOException { Socket socket = new Socket("127.0.0.1", 55286); OutputStreamWriter os = new OutputStreamWriter(socket.getOutputStream()); os.write("Santosh Karna"); os.flush(); socket.close(); } } 

और ServerDemo.java

 public class ServerDemo { public static void main(String[] args) throws IOException { System.out.println("server is started"); ServerSocket serverSocket= new ServerSocket(55286); System.out.println("server is waiting"); Socket socket=serverSocket.accept(); System.out.println("Client connected"); BufferedReader reader=new BufferedReader(new InputStreamReader(socket.getInputStream())); String str=reader.readLine(); System.out.println("Client data: "+str); socket.close(); serverSocket.close(); } } 

मेरे मामले में, मुझे Expose daemon on tcp://localhost:2375 without TLS निकट एक चेक मार्क रखना पड़ा Expose daemon on tcp://localhost:2375 without TLS docker सेटिंग में Expose daemon on tcp://localhost:2375 without TLS (कार्य पट्टी के दाईं ओर, docker पर दायां क्लिक करें, setting चुनें)

ऐसा हो सकता है कि क्लाइंट का पिछला उदाहरण अभी भी चल रहा है और पोर्ट 5000 पर सुन रहा है।

इंटरनेट से डिस्कनेक्ट करने की कोशिश करें (आप वाईफाई बंद कर सकते हैं)