java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)

java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
11-22 14:49:16.870: WARN/System.err(3581):     at libcore.io.IoBridge.maybeThrowAfterRecvfrom(IoBridge.java:542)
11-22 14:49:16.870: WARN/System.err(3581):     at libcore.io.IoBridge.recvfrom(IoBridge.java:506)
11-22 14:49:16.870: WARN/System.err(3581):     at java.net.PlainSocketImpl.read(PlainSocketImpl.java:488)
11-22 14:49:16.870: WARN/System.err(3581):     at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
11-22 14:49:16.870: WARN/System.err(3581):     at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:180)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:428)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
11-22 14:49:16.870: WARN/System.err(3581):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
11-22 14:49:16.870: WARN/System.err(3581):     at com.cplatform.android.cmsurfclient.download.provider.AndroidHttpClient.execute(AndroidHttpClient.java:172)
11-22 14:49:16.870: WARN/System.err(3581):     at com.cplatform.android.cmsurfclient.download.provider.DownloadThread.run(DownloadThread.java:205)
11-22 14:49:16.900: WARN/System.err(3581): Caused by: libcore.io.ErrnoException: recvfrom failed: ECONNRESET (Connection reset by peer)
11-22 14:49:16.900: WARN/System.err(3581):     at libcore.io.Posix.recvfromBytes(Native Method)
11-22 14:49:16.900: WARN/System.err(3581):     at libcore.io.Posix.recvfrom(Posix.java:131)
11-22 14:49:16.900: WARN/System.err(3581):     at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:164)
11-22 14:49:16.900: WARN/System.err(3581):     at libcore.io.IoBridge.recvfrom(IoBridge.java:503)
11-22 14:49:16.900: WARN/System.err(3581):     ... 18 more

原因:1、服务器中断

   2、网络连接非常慢的时候

    3、下载大文件时,频繁请求服务器,请求的端口一直被占用

时间: 2024-12-28 09:46:10

java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)的相关文章

在Android程序中使用Modbus协议时报 java.net.SocketException: recvfrom failed: ECONNRESET解决办法

最近在开发基本Modbus协议的Android端PLC控制程序,C#版程序没有任何问题,移到JAVA下出现各种问题,其中比较苦恼的是java.net.SocketException: recvfrom failed: ECONNRESET错误. 开始我的解决方法是每次向PLC发送一条数据后关掉socket,但是这样做太极端了. 经过分析发现是由于发送的数据包大小我设定为256,当写入1个寄存器值时,Modbus服务端直接报错,关掉了socket连接,将发送的数据包大小改成实际的大小后解决问题.

【Java】 java.net.SocketException: recvfrom failed: ECONNRESET

今天碰到了这个异常,错误代码就不贴了,把答案记下. ok, the answer was that it's the server's fault - it had to close the connection after each request . it might be that android keeps a pool of connections and use the old one or something like that . anyway , now it works. E

LR回放https协议脚本失败:[GENERAL_MSG_CAT_SSL_ERROR]connect to host "XXX" failed:[10054] Connection reset by peer [MsgId:MERR-27780]

最近做一个负载均衡项目的性能测试,使用LR录制脚本协议为https协议,回放脚本时出现报错: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "XXX" failed:[10054] Connection reset by peer  [MsgId:MERR-27780] 如图: Loadrunner默认发送是通过sockets(将http转换为sockets)发送的,而sockets默认SSL的版本为SSL2和SSL3.HTTPS协议录制的脚本以

recv() failed (104: Connection reset by peer) while reading response header from upstream

场景: 为了得到用户在线等信息,在客户端做了个ajax轮训: 于是问题就来了, 日志文件 [[email protected] web]# tail -f /data/log/nginx_error.log 2017/06/16 19:20:28 [error] 230555#0: *10228041 recv() failed (104: Connection reset by peer) while reading response header from upstream,client:

gem install 出现Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://api.rubygems.org

在安装了rvm来管理多版本的ruby之后,想在不同环境下安装一些gems,结果gem install puma 之后,发现一次又一次失败. 起初以为原因是:可能因为openssl上次的心血漏洞,使得服务器更新了ssl,拒绝所有低版本的ssl链接. 于是解决办法: 1. rvm pkg install openssl 2. rvm reinstall all --force 发现没用, 后来在淘宝的网站上发现了相同的描述,才发现是GFW的原因,他们提供了一个gem server. $ gem so

反向代理 27833 recv() failed (104: Connection reset by peer) while reading response header from upstream错误

原因就是请求的头文件过大导致502错误 解决方法就是提高头的缓存 http{ client_header_buffer_size 5m; location / { proxy_buffer_size 128k; proxy_busy_buffers_size 192k; proxy_buffers 4 192k; } } 原文地址:https://www.cnblogs.com/chenkg/p/8364579.html

LR回放https协议脚本失败:[GENERAL_MSG_CAT_SSL_ERROR]connect to host "XXX" failed:[10054] Connection reset by peer [MsgId:MERR-27780]

oadrunner默认发送是通过sockets(将http转换为sockets)发送的,而sockets默认SSL的版本为SSL2和SSL3.HTTPS协议录制的脚本以SSL3版本回放时会使sockets端口连接失败,会被服务器拒绝连接. 解决方法:设置Run-time Setting 找到Internet Protocol - Preferences - Advanced,勾选"winlnet replay instead of sockets(windows only)"选项,即可

Android通过Http协议POST请求异常(Connection reset by peer)

上周遇到了一个Connection reset by peer 网络连接问题,为此,我找遍了中英文的一些网站,搜遍了能找的每个角落,发现了出现这种状况的原理,该java异常在客户端和服务器端都有可能发生,引起该异常的原因有: Connection reset by peer的常见原因: 1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭: 如果知道实际连接服务器的并发客户数没有超过服务器的承载量,则有可能是中了病毒或者木马,引起网络流量异常.可以使用netstat -an查看网络连

Android中调用WebService抛出Connection reset by peer异常

最近在做的项目中用到了WebService,因为Android中没有提供直接调用WebService的Api,我就使用了 ksoap,但是在使用过程中遇到了一个奇怪的BUG: 请求一次WebService之后,什么都不做,静待1分钟之后,再次请求这个WebService时就会抛出以下异常: 06-17 15:11:07.869: W/System.err(10915): java.net.SocketException: sendto failed: ECONNRESET (Connection