Java-Fehler - Software verursacht connection abort: recv failed
Die voller Fehler ist:
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)
"im chat.laufen(chat.java:76)" ist diese Zeile:
System.out.println("[_in_"+(line=ins.readLine())+"_]");
Zeile einen string und ins wird ein BufferedReader
ins = new BufferedReader(new InputStreamReader(_sock.getInputStream()));
_sock wird
Socket _sock = null;
_sock = serv_sock.accept();
Diese happends auf meinem Server java und nicht auf meinen client-java -...
Auch diese happends, wenn ich nicht senden Sie alles für eine kleine Weile
-----EDIT------
Habe ich es wieder versucht;
Zuerst ging es 40 Minuten nichts zu tun und es funktionierte noch,
dann wartete ich 40 Minuten wieder und dieses mal hat es nicht funktioniert.
Es scheint ziemlich zufällig..
Ich kann nicht herausfinden, was es verursacht.
Die Dateien die ich habe sind
* [client.java], [chat.java], [vlc.java]
* [server.java], [chat.java], [vlc.java]
den vlc-Dateien sind die gleichen in beiden, obwohl der chat ist anders
(da ich havn ' T getan Threads in beiden client-und server-noch)
Hier ist der code;
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
Ich denke, es ist ein Fenster/Netzwerk-Sache.
Jemand kann bitte mir helfen, dieses Problem beheben??
... Und
ins
ist eine BufferedReader für welchen stream genau? Sollten Sie post viel mehr InformationenHinzugefügt mehr info zu meiner Frage
möglich, Duplikat der Offizielle Gründe für "Software verursacht connection abort: socket write error"
InformationsquelleAutor user1021085 | 2012-01-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich konnte nicht Holen Sie sich Ihre genaue problem zu replizieren, auf meinem eigenen computer, die mit Ihrem code und localhost-verbindungen, aber nach der Lektüre über "BufferedReader.readLine() wirft java.net.SocketException: Software verursacht connection abort: recv failed" in verschiedenen Seiten, ich glaube, dies ist im Zusammenhang mit dem Netzwerk. Die Verbindung scheint abgebrochen werden, aufgrund von TCP-timeout oder Daten beschädigt bei der übertragung.
Falls dies passiert über localhost-verbindungen (server und client im gleichen computer), es könnte eine fehlerhafte Speicher, sonst haben Sie vielleicht eine defekte Netzwerkkarte, router oder Kabel irgendwo entlang der Linie. Wenn Sie wireless verwenden, können Sie ziemlich unzuverlässig.
Ich habe bearbeitet die Antwort
Sie modifiziert den code (es bekommt port # etc aus einer properties-Datei) und geöffnet bis 2 SGU und ging in Extras -> Einstellungen -> Einstellungen Anzeigen: alle -> Interface -> Hauptmenü-Schnittstellen -> rc -> Haken bei "nicht öffnen, dos,.." und geben Sie in 127.0.0.1:PORT_YOU_SET_IN_vlc.java in der "tcp-Kommando-Eingabe"? (wählte einen anderen port in der server und client, und ändern Sie Sie entsprechend in der tcp-Kommando-Eingabe-Fenster) - Wenn Sie das Tat, und es funktionierte pause-und Abspielen - haben Sie pause, und lassen Sie es sitzen für eine Weile? Versuchen Sie, 30+ Minuten und sehen, ob es gibt Ihnen die Fehler dann. Anderes zu tun, während Sie warten, die x Minuten. Versuchen Sie 1-3 mal.
Ich bin nicht vertraut mit VLC Vernetzung, kommentierte ich aus dem vlc-bezogene Aufrufe in den code. Beachten Sie auch, dass ich nicht über Windows-Computer zu Hause nur Linux, so könnten Sie Verhalten sich völlig anders. Ich glaube dennoch, dass das die Ausnahme ist im Zusammenhang mit der Netzwerk-link going down unerwartet (das könnte auch verursacht werden, durch den VLC tut etwas schrullig), aber weiter als das, ich weiß es wirklich nicht...
wiki.videolan.org/VLC_command-line_help listet mehrere verschiedene timeout-Optionen für VLC-networking -, meine beste Vermutung ist, dass VLC beendet wird die Verbindung mit TCP-timeout, nachdem er machte eine Pause lang genug. Leider glaube ich nicht, ich kann Ihnen helfen, jede weitere mit diesem.
InformationsquelleAutor esaj
Dieser Fehler tritt auf, genau wegen problem im Netzwerk. Es kommt bei der Verbindung mit der Datenbank ist fehlgeschlagen und und Anwendung ist nicht zum abrufen der erforderlichen Daten. Das problem kann in Ihrer Verbindung Draht oder das modem. Versuchen Sie, Sie zu ändern. Andernfalls überprüfen Sie Ihre access-Datenbank im sql developer etc, wenn seine Arbeit in Ordnung, es könnte ein problem in der Transaktion timeout.
InformationsquelleAutor Sohail Anwar
Gibt es zwei Möglichkeiten:
InformationsquelleAutor user4839411