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

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

pfigueredo 2月前

254 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 除非注明,本帖由pfigueredo在本站《sockets》版块原创发布, 转载请注明出处!
最新回复 (0)
  • @Amogh - 看起来是这样,是的。基本上从答案的描述来看,这是一个特定于 Windows 的错误,但我假设在 Linux 上你会得到相同的异常,只是措辞不同......(我对此的外行理解基本上是,这是由于你通过套接字发送到某个远程位置 X 并且 X 在中间断开连接而导致的,但我确信这不是最准确的描述方式)

返回
作者最近主题: