Цитата:
Сообщение от Alex_St
Попробуем увеличить. А в случае таймаута не должен происходить повтор посылки?
|
По таймауту как раз определяется, что очередной пакет полностью пришел и начинается его расшифровка. В любом случае такого, чтобы пакет не полностью пришел от ецу не должно быть - значит ему нужно больше времени на обдумывание ответа.
P.S. Разобрал ситуацию подробно:
Вообщем в очередной раз подался запрос 82 11 F1 21 F0 95. За заданное время RTO ответ не пришел (пришло только эхо запроса TxD(Эхо):82 11 F1 21 F0 95). Программа начинает подавать следующий запрос, но в это время ецу оказывается уже начал отправлять данные. В результате программа передает 84 11 F1 18 00 FF 00 9D (8 байт), а в ответ ждет сначала эхо запроса (8 байт) а ей приходит предыдущий ответ, но программа этого не знает и выкусывает как ей кажется эхо запроса (8 байт ) - TxD(Эхо):8B F1 11 61 F0 00 10 2D - вот почему не до конца ответ

При этом продолжение пакета может быть битым, так как на него наложился следующий запрос.