为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

胡说叔叔 2019-06-01 16:24:53
“软件导致连接中止:套接字写入错误”的官方原因给定此堆栈跟踪片段引起:java.nets.ocketException:软件导致连接中止:套接字写入错误java.net.SocketOutputStream.socketWrite0(Native法)我试图回答以下问题:抛出此异常的代码是什么?(JVM?/Tomcat?/我的代码?)是什么导致抛出此异常?关于#1:Sun的JVM源代码不包含确切的消息,但我认为文本软件导致连接中止:套接字写入错误的本机实现SocketOutputStream:private native void socketWrite0(FileDescriptor fd, byte[] b, int off,                  int len) throws IOException;关于#2我的猜测是,当客户端终止连接时,在得到完整的响应之前(例如发送请求,但在得到完整的响应之前,它被关闭/终止/脱机)。问题:上述假设是否正确(1和2)?这是否与以下情况不同:“无法写入客户端,原因是服务器是否会产生相同的错误信息?最重要的是:是否有说明上述情况的正式文件(如Sun的文件)?我需要有一个证据,证明这个堆栈跟踪是套接字客户端的“错误”,而且服务器无法避免它。(除了捕获异常,或者使用非Sun JVM SocketOutputStream,尽管两者都不能真正避免客户机终止的事实)
查看完整描述

4 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

这个java.net.SocketException在创建或访问错误时引发插座(如tcp)。这通常是在服务器终止连接(没有正确关闭连接)时造成的,因此在获得完整响应之前。在大多数情况下,这可能是由超时问题引起的(例如,响应需要太多时间,或者服务器被请求重载),或者客户端发送SYN,但它没有接收到ACK(确认连接终止)。对于超时问题,可以考虑增加超时值。

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

详细信息示例:

  • 软件导致连接中止:recv失败。

    此错误表示试图发送消息,服务器已中止连接。如果在连接到数据库时发生了这种情况,这可能与使用不兼容连接器/JJDBC驱动程序.

    可能的解决方案:确保CLASSPATH中有适当的库/驱动程序。

  • 软件导致连接中止:连接。

    当有问题要连接到远程时,就会发生这种情况。例如由于病毒检查器拒绝远程邮件请求。.

    可能的解决方案:检查病毒扫描服务是否阻塞了传出连接请求的端口。

  • 软件导致连接中止:套接字写入错误。

    可能的解决方案:确保将正确的字节长度写入流。所以再检查一遍你发送的是什么。看这个螺纹.

  • 按对等点重置连接:套接字写入错误/对等方中止的连接:套接字写入错误

    应用程序没有检查服务器端是否已超时保持活动连接。

    可能的解决方案:在从连接读取之前,确保HttpClient是非空的。E 13222_01

  • 由对等点重置连接。

    连接已由对等方(服务器)终止。

  • 连接复位。

    由于对请求的请求,连接已由客户端终止或由连接的服务器端关闭。

    见:是什么导致我的java.nett.ocketException:连接重置?


查看完整回答
反对 回复 2019-06-01
?
HUH函数

TA贡献1836条经验 获得超4个赞

为了证明哪个组件失败,我将使用以下方法监视TCP/IP通信威雷沙克看看是谁在紧急关闭港口,超时也可能是相关的。


查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 1795 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号