Poco :: Net :: HTTPSClientSession receiveResponse всегда неправильно обрезается - PullRequest
1 голос
/ 05 марта 2020

Обнаружена очень странная проблема. У меня есть две виртуальные машины под управлением CentOS Linux. На стороне сервера есть REST API (с использованием сокета none-Poco), и один из API - это ответ на POST. На стороне клиента используйте библиотеку POCO для вызова REST.

  • Если возвращаемое сообщение длинное, оно будет усечено при 176 k, или 240 k, или 288 k.
  • Тот же код, та же среда, работающая на стороне сервера, Хорошо.
  • На виртуальной машине клиента используйте python, чтобы выполнить вызов REST, Хорошо.

ТОЛЬКО ошибка, если я используйте тот же хороший код на клиентской виртуальной машине.

Когда сообщение обрезается, код состояния https всегда возвращает 200

На стороне сервера я регистрировал ответное сообщение, которое отправлял каждый раз. Все выглядит нормально.

Я перепробовал целый ряд вещей, таких как:

  • установить время ожидания сокета и timeResponse равным часу
  • ждать 2 секунды после Я отправляю запрос, но перед тем, как позвонить получателю
  • Установите достаточно большой буфер приема
  • Попробуйте весь подход, чтобы убедиться, что поток приема пуст, больше нет данных

Это просто не работает.

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

...