После правильного получения полезной нагрузки из запроса HTTPS добавление символов клиента в строку останавливается примерно через 8000 символов, затем возобновляется и снова останавливается несколько раз. Вот фрагмент моего кода:
long streamSize = 0;
Serial.println("Now reading payload...");
while (stream.connected()) {
while (stream.available() > 0) {
char ch = (char)stream.read();
Serial.println((String)"Reading [" + ++streamSize + "] " + ch);
ret += ch;
Serial.println(ret.length());
}
}
Который отлично работает, пока:
Reading [8685] t
8685
Reading [8686] r
8686
Reading [8687] u
8687
Reading [8688] m
8687
Reading [8689]
8687
Reading [8690] e
8687
[Resumes correctly appending chars]
Reading [9226] i
8748
Reading [9227] p
8749
Reading [9228] t
8750
Reading [9229] i
8751
Reading [9230] o
8751
Reading [9231] n
8751
И так несколько раз. Размер кучи памяти, похоже, не является проблемой, так как я получаю 14128 свободных байтов из system_get_free_heap_size()
после добавления всего. Я использую Wemos D1 R1, и это файл, который я пытаюсь полностью прочитать, для тестирования с использованием Github API