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

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

M. Mariscal 2月前

112 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)
  • 套接字 (例如 时出错时,会抛出 java.net.SocketException TCP 这通常是由于服务器在获得完整响应之前终止了连接(未正确关闭)。在大多数情况下,这可能是由超时问题(例如响应花费的时间太长或服务器因请求而超载)或客户端发送了 SYN,但未收到 ACK(连接终止确认)引起的。对于超时问题,您可以考虑增加超时值。

    套接字异常通常附带有关该问题的指定详细消息。

    详细消息示例:

    • 点3

      点4

      点5

    • p6

      p7

      p8

    • p9

      p10

    • p11

      p12

      p13

    • p14

      p15

    • p16

      p17

      p18

返回
作者最近主题: