Использование фрагментированного запроса кодирования с переменным размером фрагмента в Java (HttpUrlConnection)
Я ищу в течение нескольких недель, чтобы найти решение, как использовать кодирование передачи по частям в клиенте Java, не кодируя мое собственное myHttpURLConnection
,
HttpUrlConnection
Java ожидает фиксированный размер чанка, который мне не подходит. Данные состоят из нескольких сообщений, которые различаются по размеру и должны быть отправлены в ближайшее время на сервер. Система в настоящее время (в состоянии Prelive/UAT) работает на основе установленного 1024 byte
куски, но так как большинство сообщений значительно короче, это пустая трата ширины полосы, не приемлемая в PROD.
Кроме того, сообщения больше, чем 1024 bytes
будет разбит на части, так что а) серверу потребуется собрать их снова и б) последняя часть сообщения не будет отправлена, пока не будет достаточно данных для заполнения 1024 bytes
(что еще хуже, не скоро).
Кто-нибудь есть идеи, как обойти ограничение HttpUrlConnection
Java (несовместимый с RFC2616, так как он не полностью его реализует) без необходимости кодировать все поверх URLConnection
? Я не нашел возможности подключиться к необходимым функциям, чтобы просто установить новый размер куска для каждой кучи данных.
Мой текущий вариант: дублировать все HTTPUrlConnection
закодируйте и измените части, связанные с CHUNKED (например, с некоторой функцией flush() для настройки размера чанка и отправки того, что там есть).