java.net.SocketException: сокет закрыт

Я создаю клиент-серверное приложение Java через TCP, где у нас есть два сокета:

Один для обмена сообщениями.Два для передачи файлов.

Я создал на сервере две ServerSockets для создания Socket One и Two

принимая ServerSockets.

Сначала клиент отправляет несколько байтов через первый сокет

так что он может сказать серверу, какой файл ему нужен.

Затем Сервер через второй сокет отправляет файл клиенту.

После того, как клиент получает файл, он пытается отправить обратно на сервер сообщение Transfer Done.



Там я получаю Исключение для закрытого сокета.

Однако я никогда не закрываю розетку до сих пор.

Я только закрываю буфер, который отправляет файл.

Даже если я снова попытаюсь открыть socketInputStream после отправки файла, ошибка остается прежней.

Также, если я не закрываю буфер, который отправляет файл, клиент не получает файл.

Исключение сервера

Ошибка в сообщении возврата - java.net.SocketException: сокет закрыт

Исключение клиента

Ответ сервера - java.net.SocketException: программное обеспечение вызвало прерывание соединения: ошибка записи в сокет

Что я делаю неправильно?

Ответы на вопрос(1)

Ваш ответ на вопрос