gpt4 book ai didi

java.net.SocketException : Connection reset

转载 作者:行者123 更新时间:2023-12-02 00:49:58 32 4
gpt4 key购买 nike

我尝试从套接字读取时遇到以下错误。我正在该 InputStream 上执行 readInt(),并且收到此错误。仔细阅读文档表明连接的客户端部分关闭了连接。在这种情况下,我是服务器。

我可以访问客户端日志文件,但它没有关闭连接,并且其日志文件表明我正在关闭连接。那么有人知道为什么会发生这种情况吗?还需要检查什么?当本地资源可能达到阈值时,是否会出现这种情况?

<小时/>

我确实注意到我有以下行:

socket.setSoTimeout(10000);

就在readInt()之前。这是有原因的(长话短说),但只是好奇,在什么情况下这可能会导致指示的错误?我的服务器在我的 IDE 中运行,我碰巧让我的 IDE 卡在断点上,然后我注意到我的 IDE 日志中开始出现完全相同的错误。

无论如何,只是提一下,希望不是转移注意力。

最佳答案

有几个可能的原因。

  1. 另一端故意重置连接,我不会在此处记录这种方式。对于应用程序软件来说,这样做的情况很少见,而且通常是不正确的,但对于商业软件来说,这种情况并不陌生。

  2. 更常见的是,由于写入另一端已正常关闭的连接而导致。换句话说,应用程序协议(protocol)错误。

  3. 也可能是由于套接字接收缓冲区中有未读数据而关闭套接字导致的。

  4. 在 Windows 中,“软件导致连接中止”与“连接重置”不同,是由您端发送的网络问题引起的。 Microsoft 知识库中有一篇关于此问题的文章。

关于java.net.SocketException : Connection reset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57867661/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com