java.net.SocketException: Socket geschlossene TCP-Client-Server-Kommunikation

Ich erstelle eine Java-Client / Server-Anwendung über TCP, wobei wir zwei Sockets haben:

Eine ist für den Austausch von Nachrichten.Zwei ist für die Dateiübertragung.

Ich habe im Server zwei ServerSockets angelegt, um Socket One und Two anzulegen
durch Akzeptieren der ServerSockets.

Zunächst sendet der Client einige Bytes über den ersten Socket
damit er dem Server mitteilen kann, welche Datei er benötigt.

Dann sendet der Server über den zweiten Socket die Datei an den Client.
Nachdem der Client die Datei empfangen hat, versucht er, eine Meldung "Transfer Done" an den Server zurückzusenden.

Dort bekomme ich die Ausnahme für die geschlossene Steckdose.
Allerdings schließe ich die Steckdose bisher nie.
Ich schließe nur den Puffer, der die Datei sendet.
Selbst wenn ich versuche, den socketInputStream nach dem Senden der Datei erneut zu öffnen, ist der Fehler immer noch derselbe.
Auch wenn ich den Puffer, der die Datei sendet, nicht schließe, erhält der Client die Datei nicht.

Server-Ausnahme

Fehler in der Rückmeldung - java.net.SocketException: Socket geschlossen

Client-Ausnahme

Serverantwort - java.net.SocketException: Software verursachte Verbindungsabbruch: Socket-Schreibfehler

Was mache ich falsch?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage