Ошибка разбитого канала на сервере Java SSLSocket с запросом AJAX - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть сервер JAVA, получающий простые запросы от браузера. Эти запросы являются просто запросами GET, содержащими контент HTML, который будет преобразован в файл PDF на сервере. После создания файла PDF сервер должен отправить его обратно клиенту. Запрос клиента является запросом AJAX.

У меня проблема при отправке файла клиенту. На самом деле файл правильно создается на стороне сервера, но когда я пытаюсь отправить его клиенту, возникает ошибка сломанного канала. Похоже, он не делает это с очень маленькими файлами, но каждый раз с файлами около 1 МБ.

Я знаю, что ошибка разорванного канала возникает из-за того, что клиент закрывает соединение, в то время как сервер всегда пишет в сокет. Но я не понимаю, почему клиент закрывает соединение. Я не делаю никаких действий на стороне клиента, я просто жду ответа, но соединение всегда закрывается в один и тот же момент.

Мой сервер связывается с клиентом через SSLSocket, и я отправляю правильную длину содержимого в заголовках моего ответа.

Кто-нибудь имеет представление о том, почему клиент внезапно закрывает соединение? При необходимости я могу предоставить больше информации, а также некоторые части моего серверного кода.

AJAX-запрос на стороне клиента:

$.ajax({
    url: url_server,
    type: "GET",
    data: param_server,
    dataType: "html",
    statusCode: {
        404: function () {}
    }
});
...