簡體   English   中英

Java錯誤 - 軟件導致連接中止:recv失敗

[英]Java error - Software caused connection abort: recv failed

完整的錯誤是:

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)

“在chat.run(chat.java:76)”是這一行:

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

line是一個字符串,而ins是一個BufferedReader

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

_sock正在

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

這發生在我的服務器java而不是我的客戶端java ...而且,當我不發送任何東西一段時間時會發生這種情況

- - -編輯 - - -

我再試一次; 首先它40分鍾無所事事它仍然有效,然后我再等了40分鍾,這次它沒有用。

它似乎有點隨意..我無法弄清楚是什么導致它。

我擁有的文件是* [client.java],[chat.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

我認為這是一個窗口/網絡的事情。 有人請求幫我解決這個問題?

我無法使用您的代碼和localhost-connections在我自己的計算機上復制您的確切問題,但在閱讀了“BufferedReader.readLine()拋出java.net.SocketException:軟件導致連接中止:recv失敗”之后的幾個不同頁面,我相信這與您的網絡有關。 由於TCP超時或傳輸中的數據損壞,連接似乎終止。

如果這發生在localhost-connections(同一台計算機上的服務器和客戶端)上,它可能是一個故障內存,否則你可能在某處某處有一個破壞的網卡,路由器或電纜。 如果您使用無線技術,它們可能非常不可靠。

此錯誤恰恰是由於網絡問題而發生的。 當與數據庫的連接失敗並且應用程序無法檢索所需數據時,它就會出現。 問題可能出在連接線或調制解調器上。 嘗試更改它們。 否則檢查您的數據庫訪問在SQL開發人員等,如果它工作正常,可能在事務超時有問題。

有兩種可能性:

  • 數據庫已關閉,或
  • 數據庫服務器的IP地址復制網絡上現有服務器的IP地址

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM