Aktywne Wpisy
JPRW +500
Grzegorz Braun dostaje pytanie o rosyjskie ultimatum z grudnia 2021, gdzie kacapy żądały wycofania sił NATO z terenów nowych państw członkowskich przyjętych po 1989 i tym samym przekształcenie naszego kraju i całej Europy Środkowo-Wschodniej co najmniej w szarą strefę bezpieczeństwa zgodnie z moskiewskimi interesami.
Co odpowiada poseł partii, która określa się mianem propolskiej? W gruncie rzeczy się zgadza, bo mówi, że wojska sojusznicze w Polsce to "straszny sen", że on popierał protesty
Co odpowiada poseł partii, która określa się mianem propolskiej? W gruncie rzeczy się zgadza, bo mówi, że wojska sojusznicze w Polsce to "straszny sen", że on popierał protesty
MakaronowyStwor +77
Dziękuję Wam wykopki, że jesteście <3
Garstka która ma odrobinę oleju w głowie, pocieszała i pomagała mi w najgorszych momentach, dostarczała szczerego śmiechu i dobrego humoru, poznałem kilku - nawet IRL i było super.
A pozostałe 90% przynajmniej podbudowuje mi samoocene że jestem inteligentny na ich tle ( ͡° ͜ʖ ͡°)
#gownowpis #oswiadczenie #oswiadczeniezdupy #takaprawda
Garstka która ma odrobinę oleju w głowie, pocieszała i pomagała mi w najgorszych momentach, dostarczała szczerego śmiechu i dobrego humoru, poznałem kilku - nawet IRL i było super.
A pozostałe 90% przynajmniej podbudowuje mi samoocene że jestem inteligentny na ich tle ( ͡° ͜ʖ ͡°)
#gownowpis #oswiadczenie #oswiadczeniezdupy #takaprawda
No więc, chciałbym zmodernizować moją funkcję, aby zbierać dane z logów i następnie wysłać je wszystkie do przeglądarki. Najpierw próbowałem funkcji beginResponseStream, ale moja tablica jest zbyt duża, aby można ją było wysłać raz (tablica ma 300 wierszy i każdy wiersz ma 100 wartości typu char). W efekcie tym, do przeglądarki trafia jakieś 50 wierzysz (może to być problem z małą ilością wolnej pamięci heap. Czytałem na wielu stronach internetowych, że najlepszą metodą wysyłania dużych danych jest używanie chunków (kawałków), aby zminimalizować wykorzystanie pamięci heap (której w moim przypadku mam bardzo mało, bo tylko 5-10KB).
W zasadzie to od ok. 7 dni próbuję przepisać swój kod z wykorzystaniem beginChunkedResponse(), ale za każdym razem bez powodzenia. W związku z tym, prosiłbym o pomoc w napisaniu kodu. Najlepszym rozwiązaniem według mnie byłaby możliwość, aby chunki były wysyłane co np. 20 wierszy z tablicy. Jeśli to rozwiązanie ma wady i nie jest wydajne, chętnie posłucham rad, gdyż pierwszy raz używam tej metody.
Mój poprzedni kod wygląda tak:
server.on("/logs1", HTTP_GET, [](AsyncWebServerRequest *request){
AsyncResponseStream *response = request->beginResponseStream("text/plain; charset=UTF-8");
for (int z = 0; z < iloscLogow; z++){
response->print(logs[z]);
response->print("\n");
}
request->send(response);
});
Natomiast metoda ma podstawową postać:
server.on("/ten", HTTP_GET, [](AsyncWebServerRequest *request){
AsyncWebServerResponse *response = request->beginChunkedResponse("text/html; charset=UTF-8", [](uint8_t *buffer, size_t maxlen, size_t index) -> size_t {
});
request->send(response);
// response->addHeader("Access-Control-Allow-Origin", "*");
// response->addHeader("Access-Control-Allow-Methods", "GET");
// response->addHeader("Access-Control-Allow-Headers", "Content-Type");
// response->addHeader("Access-Control-Max-Age", "86400");
// response->addHeader("Cache-Control", "no-cache");
// response->addHeader("Connection", "keep-alive");
});
#mikrokontrolery #esp8266 #nodemcu #arduino #programowanie #jezykc #c #elektronika @zetisdead
Komentarz usunięty przez autora
size_t
, a to dodatkowo są chyba pointery, z którymi nie za bardzo się lubię. Nie wiem jak to zrobić prosto i efektywnie. JestemPoza tym, mam rozbudowany układ zrobiony pod piny z ESP8266, więc ESP32 nie wchodzi w grę.