suchen
  • Anmelden
  • Melden Sie sich an
Passwort-Reset erfolgreich

Verfolgen Sie die Projekte, die Sie interessieren, und erfahren Sie die neuesten Nachrichten über sie

0 answers
Fragen und Antworten Offizielle Gründe für „Software verursachte Verbindungsabbruch: Socket-Schreibfehler'

0

Angesichts dieses Stack-Trace-Snippets

Verursacht durch: java.net.SocketException: Software verursachte Verbindungsabbruch: Socket-Schreibfehler
bei java.net.SocketOutputStream.socketWrite0(Native Methode)

Ich habe versucht, die folgenden Fragen zu beantworten:

  1. Welcher Code löst diese Ausnahme aus? (JVM?/Tomcat?/Mein Code?)
  2. Was führt dazu, dass diese Ausnahme ausgelöst wird?

Zu Nr. 1:

Die JVM-Quelle von Sun enthält nicht genau diese Meldung, aber ich denke, der Text „Software verursacht Verbindungsabbruch: Socket-Schreibfehler“ stammt aus der nativen Implementierung von SocketOutputStream:

private native void socketWrite0(FileDescriptor fd, byte[] b, int off,
                 int len) throws IOException;

Zu #2

Ich vermute, dass es dadurch verursacht wird, dass der Client die Verbindung beendet hat, bevor er die vollständige Antwort erhalten hat (z. B. eine Anfrage gesendet hat, aber bevor er die vollständige Antwort erhalten hat, wurde sie geschlossen/beendet/offline).

Fragen:

  1. Sind die oben genannten Annahmen richtig (Nr. 1 und Nr. 2)?
  2. Kann dies von der Situation unterschieden werden: „Aufgrund eines Netzwerkfehlers auf der Serverseite konnte nicht auf den Client geschrieben werden“? Oder würde das die gleiche Fehlermeldung ausgeben?
  3. Und das Wichtigste: Gibt es ein offizielles Dokument (z. B. von Sun), das das oben Genannte angibt?

Ich brauche einen Beweis dafür, dass dieser Stack-Trace der „Fehler“ des Socket-Clients ist und der Server nichts hätte tun können, um ihn zu vermeiden. (außer das Abfangen der Ausnahme oder die Verwendung eines Nicht-Sun-JVM-SocketOutputStreams, obwohl beides die Tatsache, dass der Client beendet wurde, nicht wirklich vermeidet)

Ihre Antwort
einreichen

0 antwortet

Beliebtes Werkzeug

Sammlung der Laufzeitbibliothek vc9-vc14 (32+64 Bit) (Link unten)

Sammlung der Laufzeitbibliothek vc9-vc14 (32+64 Bit) (Link unten)

Laden Sie die Sammlung der Laufzeitbibliotheken herunter, die für die Installation von phpStudy erforderlich sind

VC9 32-Bit

VC9 32-Bit

VC9 32-Bit-Laufzeitbibliothek für die integrierte Installationsumgebung von phpstudy

Vollversion der PHP-Programmierer-Toolbox

Vollversion der PHP-Programmierer-Toolbox

Programmer Toolbox v1.0 PHP Integrierte Umgebung

VC11 32-Bit

VC11 32-Bit

VC11 32-Bit-Laufzeitbibliothek für die integrierte Installationsumgebung von phpstudy

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen