|
быстрый алгоритм, определения отсуствующего байта произвольного массива байтов размером |
|
|
|
 |
Ответов
|
Jun 4 2007, 15:29
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 16-10-05
Пользователь №: 9 713

|
Цитата(sergeeff @ Jun 3 2007, 21:51)  При чисто двоичной передаче данных со всякими преамбулами вначале и crc в конце все отлично, до тех пор пока не имеет место выпадение байта из середины. Что может быть в практической жизни запросто. При этом может накрыться вся идеология разборки пакета. Какая идеология разборки пакета может накрыться??? Выпадение байта (равно как и его искажение при приеме) просто приведут к тому, что что-то не сойдется. Ведь, кроме CRC, может не сойтись межбайтная пауза (ее обрабатывать просто необходимо), сигнатура конца пакета и пр. Инициатор пакета не дождется ответа и просто его повторит. А если ошибок так много, что и в повторных пакетах есть ошибки, то скорее всего у Вас проблема с железом. Цитата(tag @ Jun 4 2007, 14:48)  ...для чего и придумали crc и приамбулу... и в целом протокол обмена ...еще один вариант оформления пакета, здесь пример:
55h 0aah 86h 6h 18h 55h 55h 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55h 5ah 55h 0aah - маркер начала, 55h 5ah - маркер конца, если внутри пакета встречается байт с кодом 55h то он дублируется, т.е. в случае когда весь пакет содержит 55h его реальная длина будет в два раза больше. В примере выше содержимое пакета будет 86h 6h 18h 55h 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0... Дело в том, что мне кажется, что надежность такой структуры пакета чуть неоптимальна. Добавление своих символов в полезные данные (т.е. зависимость по данным) в некоторых случаях может создавать некоторую избыточность информации в пакете. ИМХО, лучше ее (и не только) направить на более полезные нужды, чем просто передача информации. К тому же, все равно необходимо контроллировать целостность данных (CRC), иногда требуется передать некоторую дополнительную информацию, например, о назначении пакета, некоторые метаданные и др. В любом случае такой подход имеет право на жизнь, все ведь зависит от задачи. Не так ли?
|
|
|
|
|
Jun 5 2007, 05:27
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 21-02-06
Пользователь №: 14 561

|
Цитата(ANV @ Jun 4 2007, 18:29)  Какая идеология разборки пакета может накрыться??? Выпадение байта (равно как и его искажение при приеме) просто приведут к тому, что что-то не сойдется. Ведь, кроме CRC, может не сойтись межбайтная пауза (ее обрабатывать просто необходимо), сигнатура конца пакета и пр. Инициатор пакета не дождется ответа и просто его повторит. А если ошибок так много, что и в повторных пакетах есть ошибки, то скорее всего у Вас проблема с железом. Дело в том, что мне кажется, что надежность такой структуры пакета чуть неоптимальна. Добавление своих символов в полезные данные (т.е. зависимость по данным) в некоторых случаях может создавать некоторую избыточность информации в пакете. ИМХО, лучше ее (и не только) направить на более полезные нужды, чем просто передача информации. К тому же, все равно необходимо контроллировать целостность данных (CRC), иногда требуется передать некоторую дополнительную информацию, например, о назначении пакета, некоторые метаданные и др.
В любом случае такой подход имеет право на жизнь, все ведь зависит от задачи. Не так ли? ...подразумевается что внутри пакета между маркером начала и маркером конца и есть доп. и полезная информация, в частности CRC. Что касается избыточности, то насколькоя помню это один из постулатов надежности передачи информации...
|
|
|
|
Сообщений в этой теме
sKWO быстрый алгоритм Jun 1 2007, 10:57 GetSmart Совершенно непонятны условия задачи. Опишиде более... Jun 1 2007, 11:30 sKWO Цитата(GetSmart @ Jun 1 2007, 14:30) Масс... Jun 1 2007, 11:37  =GM= Цитата(sKWO @ Jun 1 2007, 09:57) Нужно на... Jun 1 2007, 12:20 GetSmart Два или более одинаковых значений в массиве допуск... Jun 1 2007, 11:47 sKWO Цитата(GetSmart @ Jun 1 2007, 14:47) Два ... Jun 1 2007, 12:30  defunct Цитата(sKWO @ Jun 1 2007, 15:30) Что дума... Jun 1 2007, 12:49   GetSmart Цитата(defunct @ Jun 1 2007, 18:49) Я дум... Jun 1 2007, 12:50    defunct Цитата(GetSmart @ Jun 1 2007, 15:50) Дык ... Jun 1 2007, 12:52  ANV Цитата(sKWO @ Jun 1 2007, 15:30) Товарищ ... Jun 3 2007, 15:01 defunct Хеш функция для поиска байта, это нечто из серии- ... Jun 1 2007, 11:58 GetSmart Во время подготовки пакета к отправке из МК один р... Jun 1 2007, 12:43 sKWO Цитата(GetSmart @ Jun 1 2007, 15:43) Во в... Jun 1 2007, 12:55 add ЦитатаРезультирующий пакет выглядит так:0x55, 0xAA... Jun 1 2007, 12:44 GetSmart Можно же и 256 байт в пакете использовать. То есть... Jun 1 2007, 12:46 add ЦитатаМожно же и 256 байт в пакете использовать. Т... Jun 1 2007, 12:50 GetSmart Цитата(add @ Jun 1 2007, 18:50) Дык я уже... Jun 1 2007, 12:54  defunct Цитата(GetSmart @ Jun 1 2007, 15:54) И та... Jun 1 2007, 13:25   sKWO Цитата(defunct @ Jun 1 2007, 16:25) Конеч... Jun 1 2007, 19:29    haker_fox Цитата(sKWO @ Jun 2 2007, 04:29) Ценю чув... Jun 2 2007, 07:26  ReAl Цитата(GetSmart @ Jun 1 2007, 15:54) И та... Jun 1 2007, 14:58 GetSmart Цитата(add)Дык я уже говорил комбинация байт.после... Jun 1 2007, 12:58 bzx 2 sKWO
Измени структуру кадра передачи. Например, ... Jun 1 2007, 13:06 _artem_ посмотрите в сторону битстаффинга. Пример - сигна... Jun 1 2007, 14:36 _artem_ ну пускай тогда символьно передает, или сделает фр... Jun 1 2007, 15:06 Dr.NoA Полагаю, что для Вас в самый раз будет алгоритм by... Jun 1 2007, 15:31 add Цитата"Кривизна" протокола вносит ограни... Jun 2 2007, 08:30 GetSmart Цитата(add)про контрольную сумму забыли? чтоб еще ... Jun 2 2007, 10:04 defunct Цитата(GetSmart @ Jun 2 2007, 13:04) Да н... Jun 2 2007, 12:20 sergeeff Народ давно уже придумал способы передачи двоичных... Jun 2 2007, 16:27 tag Цитата(sergeeff @ Jun 3 2007, 21:51) При ... Jun 4 2007, 11:48  zltigo Цитата(ANV @ Jun 4 2007, 18:09) Какая иде... Jun 4 2007, 15:29   ANV Цитата(zltigo @ Jun 4 2007, 18:29) Вся пр... Jun 4 2007, 17:11    zltigo Цитата(ANV @ Jun 4 2007, 20:11) добавляйт... Jun 4 2007, 20:54     ANV Цитата(zltigo @ Jun 4 2007, 23:54) В данн... Jun 4 2007, 21:39      zltigo Цитата(ANV @ Jun 5 2007, 00:39) И какую ж... Jun 4 2007, 22:28 SasaVitebsk Практически всё упомянули. И похоже парня совсем п... Jun 4 2007, 19:51 sergeeff Что-то у наших коллег вместо разумной аргументации... Jun 5 2007, 05:55 SasaVitebsk Всётаки считаю что протокол может усложнятся донел... Jun 5 2007, 16:38
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|