Java 错误 - 软件导致连接中止 : recv failed

标签 java

完整的错误是:

java.net.SocketException: Software caused connection abort: recv failed
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.net.SocketInputStream.read(SocketInputStream.java:121)
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.BufferedReader.fill(BufferedReader.java:154)
    at java.io.BufferedReader.readLine(BufferedReader.java:317)
    at java.io.BufferedReader.readLine(BufferedReader.java:382)
    at chat.run(chat.java:76)
    at java.lang.Thread.run(Thread.java:722)

“at chat.run(chat.java:76)”是这一行:

System.out.println("[_in_"+(line=ins.readLine())+"_]");

line 是一个字符串,ins 是一个 BufferedReader

ins = new BufferedReader(new InputStreamReader(_sock.getInputStream()));

_ socks 存在

Socket       _sock      = null;
_sock = serv_sock.accept();

这发生在我的服务器 java 而不是我的客户端 java ... 另外,当我有一段时间没有发送任何东西时,就会发生这种情况

-----编辑------

我又试了一次; 首先它什么都不做 40 分钟,但它仍然有效, 然后我又等了 40 分钟,这次没成功。

看起来有点随意.. 我不知道是什么原因造成的。

我的文件是 * [客户端.java], [聊天.java], [vlc.java] * [server.java], [chat.java], [vlc.java]

尽管聊天不同,但两者的 vlc 文件相同 (因为我还没有在客户端和服务器中完成线程)

这是代码;

   SERVER
server.java: pastebin.com/GH8ShcGp
chat.java  : pastebin.com/iaL23kSb
vlc.java   : pastebin.com/9kyrbh5q



    CLIENT
client.java: pastebin.com/HDK450Jg
chat.java  : pastebin.com/CfHrEUkE
vlc.java   : pastebin.com/SfZgYy58

我认为这是一个窗口/网络问题。 谁能帮我解决这个问题??

最佳答案

我无法使用您的代码和本地主机连接在我自己的计算机上复制您的确切问题,但在阅读“BufferedReader.readLine() throwing java.net.SocketException: Software caused connection abort: recv failed”之后在几个不同的页面中,我相信这与您的网络有关。连接似乎因 TCP 超时或传输中的数据损坏而终止。

如果这种情况发生在本地主机连接(同一台计算机上的服务器和客户端)上,则可能是内存有问题,否则您的网卡、路由器或电缆可能在某处损坏。如果您使用无线,它们可能非常不可靠。

关于Java 错误 - 软件导致连接中止 : recv failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9035785/

相关文章:

java - 如何在 Spring Data 中按升序对一列进行排序,对另一列进行降序排序?

java - 如何在lucene中为具有多个值的数字字段正确创建范围查询

java - 如何在使用 java logging API 时禁用默认控制台处理程序?

Java 程序卡住

java - 从 Jenkins grails 插件启动的 Grails 测试不会获取 gradle build 生成的 jars

java - 由于NoClassDefFoundError无法启动嵌入式容器

javac 错误消息不显示整个文件路径

java - Dagger 无法提供我的依赖项

java - 如何在后台和前台运行一个函数 Android Studio(JAVA)

JavaMail 问题或错误?