8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

“软件导致连接中止:套接字写入错误”的官方原因

M. Mariscal 2月前

100 0

给出此堆栈跟踪片段导致:java.net.SocketException:软件导致连接中止:java.net.SocketOutputStream.socketWrite0(本机方法)处的套接字写入错误

给出这个堆栈跟踪片段

原因:java.net.SocketException:软件导致连接中止:套接字写入错误
在 java.net.SocketOutputStream.socketWrite0(本机方法)

我尝试回答以下问题:

  1. 什么代码引发了此异常?(JVM?/Tomcat?/我的代码?)
  2. 什么原因导致抛出这个异常?

关于#1:

Sun 的 JVM 源代码不包含这个确切的消息,但我认为文本 软件导致连接中止:套接字写入错误 来自本机实现 SocketOutputStream

private native void socketWrite0(FileDescriptor fd, byte[] b, int off,
                 int len) throws IOException;

关于#2

我的猜测是,这是由于客户端在获得完整响应之前终止连接而导致的(例如,发送了请求,但在获得完整响应之前,它已关闭/终止/离线)

问题:

  1. 上述假设正确吗(#1 和 #2)?
  2. 服务器 端网络错误,无法写入客户端 ”?或者这是否会出现相同的错误消息?
  3. 最重要的是: 是否有官方文件(例如来自 Sun 的文件)说明上述内容?

我需要证明这个堆栈跟踪是套接字客户端的“错误”,并且服务器无法采取任何措施来避免它。(除了捕获异常或使用非 Sun JVM SocketOutputStream,尽管两者都不能真正避免客户端已终止的事实)

帖子版权声明 1、本帖标题:“软件导致连接中止:套接字写入错误”的官方原因
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由M. Mariscal在本站《sockets》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 当我使用 SoapUI 客户端测试我的 soap 服务时发生了这个错误,基本上我试图获取一条非常大的消息 (>500kb) 但 SoapUI 因超时关闭了连接。

    在 SoapUI 上,转到:

    文件-->首选项--套接字超时(毫秒)

    ...并输入一个较大的值,例如 180000(3 分钟),这不会完美地解决您的问题,因为文件实际上太大,但至少您会得到答复。

返回
作者最近主题: