ako naprogramovat
David Obdrzalek
David.Obdrzalek na mff.cuni.cz
Pondělí Duben 15 09:33:46 CEST 2024
Taky myslím. Pokud přečtu vše od B5 62 až po checksum a ten je v pořádku, tak
považuji paket za korektní a nečekám na další paket.
(To bych taky mohl následně dostat nějaký nesmysl, který by mi tím pádem zabil ten
první, korektně přijatý, paket)
Taky může ale nastat situace, že přijde B5 62 a pár bajtů prvního paketu a pak se
komunikace odmlčí (a zbytek prvního paketu nepřijde), pak B5 62 a zbylých 30 bytů
druhého paketu v pořádku včetně checksumu. Takže kdybych se syncnul na tu první
hlavičku a přečetl následujících 30 bytů, tak sežeru i začátek druhého paketu (ale
ne celý), checksum nebude souhlasit, což je správně, ale následuje zbytek druhého
paketu, který musím odignorovat až do jeho konce a do další signatury. (tady opět
čeká čert, který do druhého paketu jako platná data dá zase signaturu B562, na
kterou se zase syncnu a začnu číst paket, ale ten samozřejmě zase bude mít špatný
checksum ... a tak dále až do skonání světa). Asi jediné řešení beze změny protokolu
nebo způsobu přenosu se mi zdá neustále plovoucím způsobem zkoušet chytat signaturu
a mít případně rozjetých víc čtení...
D.O.
On 15 Apr 2024 at 6:58, Martin Záruba wrote:
> Tomu nerozumím. Pokud mám na konci paketu checksum, pak jakmile přečtu
> odpovídající (a může být i variabilní podle obsahu, ale zjistitelný)
> počet znaků a souhlasí mi checksum, je paket platný. Pokud jsou za ním
> nesmysly, nezajímají mě až do počátečního "B5".
>
> Martin Záruba
>
> Dne 15.4.2024 v 0:40 Zuffa Jan napsal(a):
> > Ja k tomu dodam len, ze je potrebne mysliet aj na "false sync"
> > to znamena ze ked paket zacina B5 tak ked sa docita zvysok dat
> > je mozne povazovat ho za platny az ked dalsi zacina tiez bajtom B5 inak
> > moze dojst k situacii kedy je zaciatok zly a potom uz nesedi nic. Netreba sa spoliehat
> > na to ze komunikacia a zariadenie su idealne. V mojom profesionalnom zivote som
> sa stretol uz velakrat s tym, ze na stole vsetko fungovalo ale v realnych
> podmienkach nie.
> >
> > J.
> >
Další informace o konferenci Hw-list