-
Data: 2022-08-09 10:53:41
Temat: Re: Biblioteka MQTT i dziwny kod w C
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 09.08.2022 10:16, JDX wrote:
> Jak dla mnie to ta funkcja to jakieś totalne, niedorobione gówno.
> Prowizorka znaczy się. Tutaj bym szukał błędu. Kody stanów w switch-u
> zakodowane na twardo, a nie za pomocą enumów/makr - jak mniemam chodzi o
> kody wymienione w enum-ie na początku. Stany zmieniane za pomocą
> m_state++ czy m_state=3 zamiast m_state=NAZWA_KOLEJNEGO_STANU - aż się
> prosi o kłopoty. Nie chce mi się analizować tego kodu, ale wydaje mi
> się, że nie wszystkie stany są obsługiwane.
Też się skłaniam ku tej hipotezie. Będę musiał przyjrzeć się temu
bliżej, bo na razie wygląda na to, że ta funkcja nie jest kompatybilna z
wiadomością CONNACK i po natrafieniu na nią nie czyta wszystkiego, a
jedynie pobiera dwa pierwsze bajty.
Autor nie zauważył tego, bo przez przypadek tak się złożyło, że w
switch/case sprawdzał wartość komórki pamięci, która zawsze miała
wartość 0x00, więc zawsze wyglądało to tak, jakby połączenie zostało
autoryzowane. Najwyraźniej nie przetestował nigdy działania biblioteki z
błędnym loginem/hasłem.
Generalnie i tak prościej będzie usunąć z tego błędy o trochę wyczyścić
kod, niż pisać swoją własną bibliotekę albo portować inną pod stos
TCP/IP MLA od Microchipa...
To prawdopodobnie nie będzie ostatnia rzecz, bo w Wiresharku widzę
jeszcze jakieś retransmisje przy zamykaniu połączenia TCP po zakończonej
transmisji, ale najpierw chciałem się uporać z problemem z autoryzacją,
Następne wpisy z tego wątku
- 09.08.22 19:13 J.F
- 09.08.22 20:38 Atlantis
- 10.08.22 00:06 Atlantis
- 10.08.22 00:13 JDX
- 10.08.22 09:52 J.F
- 10.08.22 09:59 Grzegorz Niemirowski
- 10.08.22 19:25 Atlantis
- 10.08.22 20:41 heby
- 10.08.22 22:06 Marek
- 10.08.22 22:43 Grzegorz Niemirowski
- 10.08.22 23:26 heby
- 12.08.22 11:25 Piotr Gałka
- 16.08.22 13:20 Atlantis
- 17.08.22 18:58 Mirek
- 18.08.22 11:03 Atlantis
Najnowsze wątki z tej grupy
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
Najnowsze wątki
- 2026-01-10 Prostownik
- 2026-01-09 EKOFASZYŚCI DO NAUKI Chiny odpaliły reaktor na tor. Zachód przespał ten moment? - AstroSzort
- 2026-01-09 Sebastian M
- 2026-01-09 weto nowelizacji ustawy o ś.u.d.e. (wz. DSA)
- 2026-01-09 Warszawa => Dynamics 365 Commerce/POS Developer <=
- 2026-01-09 Ładowanie w 13 minut
- 2026-01-08 Umiejętność tankowania na egzaminie z prawa jazdy
- 2026-01-08 Nowy akumulator Donut Lab
- 2026-01-08 Komenda policji nie ma nic wspólnego ze sprawą zgwałcenia policjantki
- 2026-01-08 Pilot do zamka/bramy
- 2026-01-08 Ślad węglowy
- 2026-01-08 Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- 2026-01-08 Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]