Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.net.SocketException:recvfrom失败:ETIMEDOUT(连接超时)_Java_Android - Fatal编程技术网

java.net.SocketException:recvfrom失败:ETIMEDOUT(连接超时)

java.net.SocketException:recvfrom失败:ETIMEDOUT(连接超时),java,android,Java,Android,我发出HTTP请求太频繁,在一段时间后出现此异常: java.net.SocketException:recvfrom失败:ETIMEDOUT(连接超时) 我经历了这一切 但我不知道怎么解决这个问题。他们提到要清除DNS缓存,但我需要在运行时清除它,以便我的执行不会停止工作,这在Android中是不可能的 谁能告诉我解决办法吗 这是我的日志: 06-04 11:14:08.119:W/System.err(8338):java.net.SocketException: recvfrom失败:ET

我发出HTTP请求太频繁,在一段时间后出现此异常:

java.net.SocketException:recvfrom失败:ETIMEDOUT(连接超时)

我经历了这一切

但我不知道怎么解决这个问题。他们提到要清除DNS缓存,但我需要在运行时清除它,以便我的执行不会停止工作,这在Android中是不可能的

谁能告诉我解决办法吗

这是我的日志:

06-04 11:14:08.119:W/System.err(8338):java.net.SocketException: recvfrom失败:ETIMEDOUT(连接超时)06-04 11:14:08.139: 带系统错误(8338):在 libcore.io.IoBridge.maybeThrowAfterRecvfrom(IoBridge.java:552)06-04 11:14:08.139:W/系统错误(8338):在 libcore.io.IoBridge.recvfrom(IoBridge.java:516)06-04 11:14:08.139: 带系统错误(8338):在 java.net.PlainSocketImpl.read(PlainSocketImpl.java:489)06-04 11:14:08.139:W/系统错误(8338):在 java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)06-04 11:14:08.139:W/系统错误(8338):在 java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:241) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.AbstractHttpClientConnection.ReceiverResponseHeader(AbstractHttpClientConnection.java:180) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.conn.DefaultClientConnection.ReceiverResponseHeader(DefaultClientConnection.java:235) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.conn.AbstractClientConnAdapter.ReceiverResponseHeader(AbstractClientConnAdapter.java:259) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.protocol.HttpRequestExecutor.doReceiverResponse(HttpRequestExecutor.java:279) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:428) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.client.AbstractHttpClient$1.executeRequestSending(AbstractHttpClient.java:608) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.client.naf.redirect.NafRequestExecutorWrapperRedirectionHandler.ExecuterRequestSendingSual(NafRequestExecutorWrapperRedirectionHandler.java:96) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.client.naf.redirect.NafRequestExecutorWrapperRedirectionHandler.executeRequestSending(NafRequestExecutorWrapperRedirectionHandler.java:73) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.client.naf.auth.naphttpAuthstrategyDefault.sendFirstRequest(naphttpAuthstrategyDefault.java:488) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.client.naf.auth.NafHttpAuthStrategyDefault.performauthexecutionnsafe(NafHttpAuthStrategyDefault.java:389) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.client.naf.auth.nafhttpauthtstrategydefault.performAuthExecution(nafhttpauthtstrategydefault.java:200) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:557) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:509) 06-04 11:14:08.139:带系统错误(8338):在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)


请参阅:“如果TCP连接超时,您可以通过keepalive超时或协议达到最大传输重试次数获得此信息。”这与DNS无关。

非常感谢。。但是我可以从Android(客户端)修复这个问题吗。你能再解释一下你在link中共享的解决方案吗?@SAR我没有“共享”任何“解决方案”。该链接描述了该问题。解决办法是修复网络,使之神秘化。我在这里什么也没做,只是引用了FeeeBSD邮件列表中的一句话。我遇到了同样的问题,你找到了发生的事情并得到了解决方案吗?不,我到目前为止还没有得到任何解决方案,我会尽快更新帖子。如果你在我的案例中找到任何解决方案,请在这里发帖,我新建了太多DataInputStream对象,但没有关闭它们,在这种情况下,系统可能会最终确定此资源并重新连接,从而导致该错误。所以我修复了这个问题,只更新了一个DataInputStream对象,并在必要时关闭它。希望这对你有帮助。我也有一些问题。。java.net.SocketException:recvfrom失败:ETIMEDOUT。。。你解决了哪一步?