java.nett.ocketException:连接重置我正在从套接字读取以下错误。我在做一个readInt()在这个问题上InputStream,我会发现这个错误。仔细阅读文档,这表明连接的客户端部分关闭了连接。在这个场景中,我是服务器。我可以访问客户端日志文件,但它并没有关闭连接,事实上,它的日志文件表明我正在关闭连接。有人知道为什么会这样吗?还有什么要查的?当当地资源达到临界值时,是否会出现这种情况?我确实注意到我有以下几句话:socket.setSoTimeout(10000);就在readInt()..这是有原因的(长话短说),但奇怪的是,在什么情况下,这可能导致指出的错误?我在IDE中运行了服务器,我碰巧将IDE卡在断点上,然后我注意到IDE中的日志中也出现了相同的错误。不管怎么说,只是说说而已,希望不是一条红鲱鱼。-(
3 回答
九州编程
TA贡献1785条经验 获得超4个赞
有几个可能的原因。
另一端故意重设连接,我不会在这里记录。应用软件这样做是罕见的,而且通常是不正确的,但对于商业软件来说,这并不是未知的。
更常见的情况是,它是由于写入另一端已正常关闭的连接而引起的。换句话说,应用程序协议错误。
当套接字接收缓冲区中有未读数据时,关闭套接字也会导致这种情况。
在Windows中,“软件导致连接中止”(与“连接重置”不同)是由从您的终端发送的网络问题引起的。
浮云间
TA贡献1829条经验 获得超4个赞
每当我遇到这样奇怪的问题时,我通常都会坐下来拿着像这样的工具。看一下正在来回传递的原始数据。当事情被切断时,你可能会感到惊讶,而你只是通知当你试着读书的时候。
添加回答
举报
0/150
提交
取消