【发布时间】:2013-11-27 12:42:50
【问题描述】:
我正在使用 Httpurlconnection 将请求从我的 jboss 服务器发送到我的设备。该设备已由 cgi 构建。
当服务器一次从多个线程向设备发送请求时,某些线程出现 java.net.ConnectException: Connection denied 的异常。但是设备会延迟向服务器发送响应。我已将 httpurlconnection 超时设置为 30 秒(3000 毫秒)。
但是只有当多个线程同时发送时才会出现错误。
有谁知道请指导我解决问题。
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:852)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:793)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:718)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1041)
【问题讨论】:
-
你能解释一下'只有在多线程调用或发送时才会出现错误'这句话吗?
-
嗨,keerthi。仅在多个线程同时发送请求时发生。我将编辑该行
-
服务器有每个IP的连接限制并且拒绝。
标签: java sockets httpurlconnection