当前位置: 首页 > 知识库问答 >
问题:

如何解决“对等点重置连接:套接字写入错误”?[关闭]

段溪叠
2023-03-14
Caused by: java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:462)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:240)
at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119)
at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192)
at org.apache.coyote.Response.doWrite(Response.java:504)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:383)
... 28 more

我的servlet程序是

 response.setContentType("application/octet-stream");
 response.setHeader("Content-Disposition","attachment;filename="+filename);
 FileInputStream in = new FileInputStream(new File(filepath));
 ServletOutputStream output=response.getOutputStream();
 byte[] outputByte=new byte[4096];
 while(in.read(outputByte,0,4096)!=-1){
     output.write(outputByte,0,4096);//error indicates in this line
 }
 in.close();
 output.flush();
 output.close();

如何解决这个问题?

共有1个答案

公沈浪
2023-03-14

我也有同样的例外,在我的情况下,问题是在重新谈判过程中。事实上,当服务器试图更改密码套件时,我的客户机关闭了一个连接。挖掘之后,在JDK1.6 Update22中,默认情况下,重新协商过程是禁用的。如果您的安全约束可以做到这一点,请尝试通过将sun.security.ssl.allowUnsafereneGotiation系统属性设置为true来启用不安全的重新协商。以下是有关该过程的一些信息:

会话重新协商是SSL协议中的一种机制,它允许客户端或服务器在正在进行的SSL通信期间触发新的SSL握手。重新协商最初被设计为一种机制,通过触发用于保护SSL通道安全的加密密钥的更新,来提高正在进行的SSL通道的安全性。然而,现代密码算法不需要这种安全措施。此外,当客户端试图访问服务器上特定的受保护资源时,服务器可以使用重新协商来请求客户端证书(以便执行客户端身份验证)。

此外,还有一篇关于这个问题的详细文章,并用(IMHO)易懂的语言编写。

 类似资料:
  • 我还尝试提供私有IP和端口4444,运行脚本后,服务器代理立即关闭,并且收到错误java.net.socketException:Connection reset by Peer:socket write error。 > JMeter控制台日志 我做了telnet privateip:4444,并通过了test命令。服务器代理返回yep数据。此设置正在本地框上工作。不在AWS盒子上。 请让我知道

  • 我使用HttpClient4.4发送get和post请求。并且我刚刚创建了一个httpclient的simpile包装器以方便使用: 当我使用这个类发送post请求时。奇怪的事情发生了: 第一次,我向服务器发送一个post请求,一分钟后就可以了,我向服务器发送一个同样的请求,也可以了。但几分钟后,我发出了一个同样的请求,有些不对劲: 但是,我仍然向服务器发送一个相同的请求,它又可以了。 每次我按照

  • 问题内容: 我使用httpclient 4.4发送get和post请求。我刚刚创建了一个简单的httpclient包装器,以方便使用: 当我使用此类发送帖子请求时。发生了一些奇怪的事情: 第一次,我将发布请求发送到服务器,几分钟后没问题,我将相同的请求发送到服务器,也行。但是几分钟后,我发送了相同的请求,出现了错误: 但是之后,我仍然向服务器发送了相同的请求,再次可以。 每当我按照上述步骤尝试时,

  • 我正在使用apache HttpClient上传固件文件(.bin)。当我上传一个大小为37MB的这样的文件时,我得到一个错误:连接被对等体重置:套接字写入错误。我不知道怎么解决。但当我尝试其他较小大小的文件(如.txt或.bin)时,没有任何错误。

  • 信息:<--HTTP失败:java.net.SocketException:由对等方重置连接:套接字写入错误(错误屏幕截图) 以下是我从IBM Watson文档中发现的 该服务最多接受10,000个图像或每个.zip文件100 MB 该服务要求每个。zip文件至少有10个图像。 该服务每次训练调用最多接受256 MB。 图像的最小推荐大小为32x32像素。 我认为问题可能是,如果我检查所有zip文

  • 我使用的是是一款开源的100%纯驱动程序,适用于。 -我有连接池配置下面 有时,我会遇到以下异常情况:无法从sql server获取连接。我不知道为什么? java.sql.SQLExc0019: I/O错误:连接重置由对等:套接字写入错误net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:1052)net.sourceforge.j