Java net connectexception connection refused connect что делать

от admin

[Solved] java.net.ConnectException: Connection refused

Java is famous for networking applications. Java programmers have written socket programming for client server-based architecture. Most of the socket programming uses TCP-IP protocol for communication between client-server. Remote Method Invocation (RMI) also uses the TCP-IP protocol for communication. Sometime, it will generate java.net.ConnectException Connection refused exception for some communication channel error.

In this article, we will describe why this communication channel exception occurs in the first part, and in the second part, we will explain how to solve it.

1. Reasons for java.net.ConnectException

1. PORT or IP is incorrect: If PORT or IP is wrong, then the client will not be able to connect to the desired server. Then it will get this kind of exception.

2. Server is stopped: Suppose a server administration gave some IP address and PORT to you to access the server. But he stopped the server, but your client programs trying to access the server with administrator provided credentials, the client program will get the exception.

3. Protocol mismatch: We know that HTTP, RMI, Websocket, etc. uses TCP as the underlying protocol. HTTP request will start with http:// and RMI protocol starts with rmi// or WebSocket protocol start with ws://. If we request an HTTP request with rmi protocol, it will throw the java.net.ConnectException.

4. Server running in the different port: If server administrator provides you an IP and PORT but server running in a different port, it will give java.net.ConnectException Connection refused.

5. Server or client is not in the network: If the client or server is disconnected from the network, then the client will not be able to find out the server. When the client program will not be able to find out the server, we will get this exception.

6. Firewall Restriction: In the networking world, many malware or virus programs can affect the network or personal computer that is connected to the public network. The different organizations put a firewall to the network to prevent this unwanted attack of various harmful products. Some companies allow internal networks only. If your server programs run on this network and the client IP is not allowed in this network, it will get the exception java.net.ConnectException Connection refused.

2. How to Solve this Exception:

The client can connect with the server easily when

a. The server is running in the IP and PORT provided by the server administrator.
b. There is no restriction on the network.
c. The client and server are on the network.

We have to check the above things first before connecting to the server. We can test this in different ways.

1. We can check the IP and PORT are available for the client by using telnet.

For example, you can use this command to check IP and PORT are running or not.

2. We can check the IP is available for the client by pinging IP provided by the server administrator.
For example, you can ping with this command

You will get below result:

3. Practical Example:

1. When we try to connect a database server like MYSQL or Oracle, but IP or PORT is not running or not accessible, then we get the exception java.net.ConnectException.
2. When a mail server is not running the desired PORT or IP, we will get this kind of exception.
3. When an application running in a different PORT or IP, but the client tries to connect, we will get this exception.

Example with Java Code

If we execute the following command from the command line, we will get the desired exception

How To Fix java.net.ConnectException: Connection refused in Java

java.net.ConnectException: Connection refused is a common exception if you are dealing with network operations in Java. This error indicates that you are trying to connect to a remote address and connection is refused remotely. It’s possible if there is no remote process/service listening at the specified address or port.

You might see one of the following error lines in your stack trace when you get Connection refused exception.

java.net.ConnectException: Connection refused exception clearly indicates that the program you are executing is trying to connect to server side but a successful connection cannot be established.

Possible Causes of java.net.ConnectException: Connection refused

1. Client is trying to connect wrong IP or port: This is a common reason when you get ConnectException. Sometimes applications running on the server side allocate different ports each time they are started. You can either configure the application on the server side, so that it uses fixed port, or you can change the client application, so that it connects to correct port.

2. Server is not running: This is also a possible reason for java.net.ConnectException.
You should check whether the server is open or not. It might be a database server, an application server or a custom server you have implemented. If you try to open a socket connection to a closed server, you will get a connection exception.

3. Server is open but it is not listening connections: This might be the case, for instance, when application server is up and running but an installed application is not started correctly. You should check admin console of your server to check the status of applications on the server. Sometimes application is started correctly but it isn’t listening the port, you are trying to connect.

4. Firewall is blocking connections to remote host: Firewall might be the problem if you cannot connect to server side. If a firewall is blocking connections to server, client application cannot open connection on the specified IP and port.

How To Resolve java.net.ConnectException: Connection refused exception

1. Check IP address and port: First step to resolve java.net.ConnectException is checking IP address and port. If IP address and port are correct, then you should follow the other steps below.

2. Ping the server IP address: You can use ping tool to test whether you can connect to server or not.

A successful ping response is as follows:

Ping response for an unsuccessful connection is as follows:

3. Try connecting the server with Telnet: You can use telnet application to simulate connection to the server. To use telnet type telnet on the command prompt. If telnet responds “Could not open connection to the host”, then you should investigate further for problems. Maybe, server is not running, or there might be a firewall issue.

How to Fix java.net.ConnectException: Connection refused: connect in Java

java.net.ConnectException: Connection refused Error – Possible reasons

java.net.ConnectException: Connection refused: connect solution fix Connection refused is a clear case of a client trying to connect on a TCP port but not being able to succeed. Here are some of the possible reasons why java.net.ConnectException: Connection refused: connect comes:

How to solve java.net.ConnectException: Connection refused

19 comments :

at com.mysql.jdbc.NonRegisteringDriver.connect . why we get this exception and how can we resolve it..can anyone tell me please

java.net.ConnectException: Connection refused: connect , is pretty general error. Real error is always behind, I suggest looking top level error and caused by clause. This will give you more ideas. In simple words, this error just says that your client and server is not able to connect, but doesn't tell anything about why connection is not happening. There could be thousands of reason of a client and server not connecting including environment issues, host settings, network settings and application settings itself.

Читать:
Как в либре офис сохранить документ в пдф

Hello there, I am getting following Connection refused: connect exception while trying to send an email from localhost. I am using smpt port 25

com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1984)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:656)
at javax.mail.Service.connect(Service.java:345)
at javax.mail.Service.connect(Service.java:226)
at javax.mail.Service.connect(Service.java:175)
at javax.mail.Transport.send0(Transport.java:253)
at javax.mail.Transport.send(Transport.java:124)
at Testing.main(Testing.java:62)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:301)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:229)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1950)
. 7 more
Please suggest what is wrong?

I am also facing this type of problem. please suggest me
Exception in thread "main" org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
java.net.ConnectException: Connection refused. Failed messages: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
java.net.ConnectException: Connection refused; message exception details (1) are:
Failed message 1:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
java.net.ConnectException: Connection refused
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1227)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:322)
at javax.mail.Service.connect(Service.java:236)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:389)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:306)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:296)
at com.aa.meals.mail.MealsMailSenderBean.sendMail(MealsMailSenderBean.java:21)
at com.aa.common.log.TestMail.main(TestMail.java:14)

help my java is not allowing me to install it says the installer cannot proceed with the current internet settings

following is my java code error.
Exception in thread "main" java.net.UnknownHostException: ubaid.tk
could you help me.

cp –p mail.cf mail.cf.orig

#inet_interfaces = $myhostname, localhost

#inet_interfaces = $myhostname, localhost

Test connection from unix prompt

telnet pslab17 25

Connected to pslab17.

Escape character is '^]'.

220 pslab17.localdomain ESMTP Postfix

Connection closed by foreign host.

google "setting java options -D ipv4=true"

Please check for the port number as its already in use by another application , if yes, kill that process and restart the server.like
go to command prompt—>type netstat -ano | find "port number"
you will find list of applications using your port number.. then just type
taskkill /pid "pid of port no" /f

restart server then it should work..

Hello
I am getting java.net.SocketException: Network is down: listen failed exception
what may be the reason?

Hostname maps to multiple IP addresses and one of the IP address is down. Some network libraries automatically try a connection to second server while others need to have code in the application. nslookup hostname. $telnet hostname 25 needs to be replaced with $telnet ip-address 25

An important point to note is that if you are using alias e.g. DNS to connect to database or servers then you must remember that JVM can cache DNS value to avoid looking up again and again when a connection needs to be made. This is all ok and improves performance but also risky in the even to fail-over when DNS points to another server. There is a JVM option to configure this behavior e.g. how long to cache, cache or not etc, worth looking.

java.net.ConnectException: Connection timed out: connect
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:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
at sun.net.www.http.HttpClient.(HttpClient.java:227)
at sun.net.www.http.HttpClient.New(HttpClient.java:300)
at sun.net.www.http.HttpClient.New(HttpClient.java:317)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1172)
at java.net.URL.openStream(URL.java:1010)
at com.lowagie.text.Image.getInstance(Unknown Source)
at com.lowagie.text.Image.getInstance(Unknown Source)
at jsp_servlet._health_ecard.__hlth_idcard._jspService(__hlth_idcard.java:217)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:526)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1078)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:396)
at com.allianz.weo.struts.WeoRequestProcessor.processForwardConfig(WeoRequestProcessor.java:141)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:232)
at com.allianz.weo.struts.WeoRequestProcessor.process(WeoRequestProcessor.java:37)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3729)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost

@Unknown, check if your server or Java application is running or port is correct.

My javanet connection on scratch day

hello Lokesh, what does that mean? are you getting any error?

INLT3635@Thread[main,5,main]@1655277498232
com.freedomgroup.common.communicator.TFGHttpClient:
Connection refused: connect:
Connection refused: connect
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.freedomgroup.common.exception.TFGExceptionUtility.createThrowable(TFGExceptionUtility.java:328)
at com.freedomgroup.common.exception.TFGExceptionUtility.createSessionException(TFGExceptionUtility.java:239)
at com.freedomgroup.common.gui.request.TFGInvocationHandler.invokeService(TFGInvocationHandler.java:97)
at com.freedomgroup.common.gui.request.TFGInvocationHandler.invokeService(TFGInvocationHandler.java:239)
at com.freedomgroup.common.gui.request.TFGInvocationHandler.invoke(TFGInvocationHandler.java:157)
at com.sun.proxy.$Proxy0.getSystemDeploymentName(Unknown Source)
at com.freedomgroup.policystar.gui.util.TFGPolicyStarUtilities.getSystemDeploymentName(TFGPolicyStarUtilities.java:2460)
at com.freedomgroup.policystar.gui.base.TFGPolicyStarGUIRunner.main(TFGPolicyStarGUIRunner.java:425)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:606)
at java.net.Socket.connect(Socket.java:555)
at java.net.Socket.(Socket.java:451)
at java.net.Socket.(Socket.java:303)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at com.freedomgroup.common.communicator.TFGHttpClient.processRequest(TFGHttpClient.java:227)
at com.freedomgroup.common.communicator.TFGHttpRequestHandler.processRequest(TFGHttpRequestHandler.java:99)
at com.freedomgroup.common.gui.request.TFGInvocationHandler.invokeService(TFGInvocationHandler.java:79)
. 5 more

How can I help? did you checked if the server is up and running and whether you can connect to the server? If you are running your from home then make sure you check that VPN is connected to your office network as well.

Ошибка java.net.ConnectException: Connection refused – как исправить?

Ошибка java.net.ConnectException: Connection refused является одним из самых распространенных сетевых исключений в Java. Эта ошибка возникает, когда вы работаете с архитектурой клиент-сервер и пытаетесь установить TCP-соединение от клиента к серверу.

Соединение также происходит в случае RMI (удаленного вызова метода), потому что RMI также использует протокол TCP-IP. При написании кода клиентского сокета на Java вы всегда должны обеспечивать правильную обработку этого исключения.

В этом руководстве по Java вы узнаете, почему возникает исключение при отказе в соединении и как решить проблему.

Причины

ошибка java.net.ConnectException: Connection refused

Отказ в соединении – это явный случай, когда клиент пытается подключиться через порт TCP, но не может это сделать. Вот некоторые из возможных причин, почему это происходит:

  1. Клиент и Сервер, один или оба из них не находятся в сети.

Да, возможно, что они не подключены к локальной сети, Интернету или любой другой сети.

  1. Сервер не работает.

Вторая наиболее распространенная причина – сервер не работает. Вы можете использовать следующие сетевые команды, например, ping, чтобы проверить, работает ли сервер.

  1. Сервер работает, но не видит порт, к которому клиент пытается подключиться.

Это еще одна распространенная причина возникновения «java.net.ConnectException: соединение отклонено», когда сервер работает, но видит другой порт. Трудно разобраться в этом случае, пока вы не проверите конфигурацию.

  1. Брандмауэр запрещает комбинацию хост-порт.

Почти каждая корпоративная сеть защищена. Если вы подключаетесь к сети других компаний, вам нужно убедиться, что они разрешают друг другу IP-адрес и номер порта.

  1. Неверная комбинация хост-портов.

Проверьте последнюю конфигурацию на стороне клиента и сервера, чтобы избежать исключения отказа в соединении.

  1. Неверный протокол в строке подключения.

TCP является базовым протоколом для многих высокоуровневых протоколов, включая HTTP, RMI и другие. Нужно убедиться, что вы передаете правильный протокол, какой сервер ожидает.

Если вам интересно узнать больше об этом, то изучите книгу по сетевым технологиям, такую ​​как Java Network Programming (4-е дополнение), написанную Гарольдом Эллиоттом Расти.

Java Network Programming

Как решить java.net.ConnectException: соединение отказано

Простое решение состоит в том, чтобы сначала выяснить фактическую причину исключения. Здесь важнее всего подход к поиску правильной причины и решения. Как только вы узнаете реальную причину, вам, возможно, даже не потребуется вносить какие-либо существенные изменения.

Вот несколько советов, которые могут помочь исправить ошибку java.net.ConnectException: Connection refused:

  1. Сначала попытайтесь пропинговать целевой хост, если хост способен пинговать, это означает, что клиент и сервер находятся в сети.
  2. Попробуйте подключиться к хосту и порту сервера, используя telnet. Если вы можете подключиться, значит что-то не так с вашим клиентским кодом. Кроме того, наблюдая за выводом telnet, вы узнаете, работает ли сервер или нет, или сервер отключает соединение.

Средняя оценка 1.5 / 5. Количество голосов: 31

Спасибо, помогите другим — напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

Напишите комментарий, что можно добавить к статье, какой информации не хватает.

Похожие статьи