Bij het uitlezen van een datastroom krijg ik pakketjes van 188 bytes binnen.
Elk compleet pakketje bestaat uit achtereenvolgens een header en een payload.
Elke header begint met een sync byte (0x47).
Het uitlezen van de stroom per pakketje gaat goed zolang er geen fouten in de stroom zitten. Als er wel een fout in zit merkt het programma dat omdat de eerste byte van een pakketje in de stroom niet 0x47 terug geeft. Als dit het geval is zou je dus vanaf de vorige (laatste) goede sync byte moeten zoeken naar de eerst volgende goede sync byte.
Nou kan ik bijvoorbeeld na 90 bytes een byte met waarde 0x47 tegenkomen maar hoe weet ik nou zeker of dit een sync byte is en niet bijvoorbeeld een byte uit de payload?
Is hier een standaard methode of oplossing voor? Ik heb al gezocht onder mpeg stromen maar ik kom hier nergens een goede oplossing voor tegen. De enige (niet waterdichte) oplossing die ik zo kan bedenken is dat als een 0x47 byte is gevonden ook meteen 188 bytes verder te kijken om te zien of deze ook 0x47 is.
Elk compleet pakketje bestaat uit achtereenvolgens een header en een payload.
Elke header begint met een sync byte (0x47).
Het uitlezen van de stroom per pakketje gaat goed zolang er geen fouten in de stroom zitten. Als er wel een fout in zit merkt het programma dat omdat de eerste byte van een pakketje in de stroom niet 0x47 terug geeft. Als dit het geval is zou je dus vanaf de vorige (laatste) goede sync byte moeten zoeken naar de eerst volgende goede sync byte.
Nou kan ik bijvoorbeeld na 90 bytes een byte met waarde 0x47 tegenkomen maar hoe weet ik nou zeker of dit een sync byte is en niet bijvoorbeeld een byte uit de payload?
Is hier een standaard methode of oplossing voor? Ik heb al gezocht onder mpeg stromen maar ik kom hier nergens een goede oplossing voor tegen. De enige (niet waterdichte) oplossing die ik zo kan bedenken is dat als een 0x47 byte is gevonden ook meteen 188 bytes verder te kijken om te zien of deze ook 0x47 is.