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

虽然发送了大约5MB的重json,但它将为我提供java。网SocketException:对等方重置连接:套接字写入错误

庄浩言
2023-03-14

想发布一个巨大的JSON对象,但当我尝试时,出现了以下错误:

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.http.impl.io.SessionOutputBufferImpl.streamWrite(SessionOutputBufferImpl.java:126)
 at org.apache.http.impl.io.SessionOutputBufferImpl.write(SessionOutputBufferImpl.java:162)
 at org.apache.http.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:115)
 at org.apache.http.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:122)
 at org.apache.http.entity.StringEntity.writeTo(StringEntity.java:169)
 at org.apache.http.impl.DefaultBHttpClientConnection.sendRequestEntity(DefaultBHttpClientConnection.java:158)
 at org.apache.http.impl.conn.CPoolProxy.sendRequestEntity(CPoolProxy.java:162)
 at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:237)
 at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:122)
 at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271)
 at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
 at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
 at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
 at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
 at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
 at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
 at com.os.util.helper.microServiceHelper.AbstractMicroServiceHelper.getResultFromMicroServices(AbstractMicroServiceHelper.java:196)
 at com.os.util.helper.microServiceHelper.IsheetVersionMicroserviceImpl.bulkInsertUpdateIsheetVersion(IsheetVersionMicroserviceImpl.java:75)
 at com.os.gfnactions.isheet.IsheetVersionPutInMicroserviceThread.run(IsheetVersionPutInMicroserviceThread.java:36)
 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
 at java.util.concurrent.FutureTask.run(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)

套接字异常

当我通过HttpClient Post请求发送一个大而重的json时,它会给我一个下面的错误。

所以如何解决下面的错误我研究了所有张贴question.but没有得到一个适当的解决我的错误。

仅供参考:基本上,我们在服务器端使用Spring Bootapi。我们从java应用程序中调用该api。

你能请任何人帮我解决下面的错误吗??

1) 如何在java中从客户端发送?

2)如何在java中获取服务器端的json?

共有2个答案

丁均
2023-03-14

发生这种情况的原因之一是tomcat服务器上的请求大小限制。在这种情况下,您需要增加上传文件的最大大小

师成弘
2023-03-14

您应该通过键入socket来增加socket超时。设置超时(数字)

文档:https://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#setSoTimeout(内景)

发布大文本不是个好主意。您应该为此应用一些分页并分割例如。每200kb。

对于大型json文件,我建议使用BSONhttp://bsonspec.org/

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

  • 我正在尝试使用套接字实现一个HTTP服务器。如果客户端(例如浏览器)请求目录,服务器将显示可用文件列表。当客户端请求文件时就会出现问题。我得到以下错误: stacktrace显示问题来自方法: 但我想不出有什么问题。你能帮帮我吗? 编辑 谢谢大家的回答。在我读了你的答案后,我明白了问题是插座出现错误的时候。这是我的错误代码: 我的新代码是这样的:

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

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

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

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