Как найти начало пакета данных на последовательном порту в С#?

Я получаю данные с последовательного порта, и структура пакета данных выглядит примерно так:

[src] [size] [dest] [data] [xor checksum]

Иногда пакет данных делится пополам, то есть я получаю его частично. Как узнать, когда начинается пакет данных, если нет разделителя пакета данных?


person jM2.me    schedule 24.09.2013    source источник
comment
Вы должны написать процедуру для поиска выравнивания кадров. Вот Вопросы и ответы для фиксированной длины Рамка. Для вашего фрейма переменной длины ваша задача немного усложняется, потому что первый байт (байты) фрейма не является константой. Вы должны оптимизировать поиск, выполнив проверки работоспособности значений [size], [src] и [dest] тестируемого кадра.   -  person sawdust    schedule 25.09.2013