Эффективное программирование TCP-IP



         

Скрытая ошибка - часть 4


К сожалению, на более раннем этапе моделирования произошло еще худшее:

Пакет 31 содержит 2 значения в 8 байтах

Пакет 32 содержит 3 значения в 12 байтах

Пакет 33 содержит 2 значения в 12 байтах

Пакет 34 содержит -268436204 значения в 8 байтах

Пакет 35 содержит 2 значения в 8 байтах

Пакет 36 содержит 3 значения в 12 байтах

Всего через 33 с после начала моделирования произошла ошибка, оставшаяся необнаруженной. Как показано на рис. 2.22, когда telemetrys читал пакет 33 в буфере было 20 байт, поэтому операция чтения вернула 12 байт вместо 8. Это означает, что пакет с двумя значениями ошибочно был принят за пакет с тремя значениями, а затем наоборот. Начиная с пакета 35, telemetrys восстановил синхронизацию, и ошибка прошла незамеченной.

Рис. 2.22. Незамеченная ошибка




Содержание  Назад  Вперед