eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaBiblioteka MQTT i dziwny kod w C › Re: Biblioteka MQTT i dziwny kod w C
  • 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ą,

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: