реклама на сайте
подробности

 
 
> SDO Block Download Protocol
_3m
сообщение Jan 18 2013, 08:51
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Реализую SDO Block Download Protocol

из ds301 v4.02 не все понятно
сейчас заткнулся на реализации повтора сбойного блока

в п. 9.2.2.2.10 Download SDO Block Segment Protocol написано что сервер выдает ответ где ackseq номер последнего успешно полученного сегмента, этим все понятно а вот смысл поля blksize непонятен.
Также не вполне ясно как передавать повторный блок. Допустим начальную позицию источника данных я вычислю на основании номера блока и ackseq а вот размер передаваемого блока если ackseg не ноль неясен.
например передавали блок из 5 сегментов, в ответе сервер вернул ackseg=2 blksize=5
Ясно что успешно приняты 1 и 2 сегменты, 3-5 не приняты.
Повторить можно как минимум двумя способами:
1) повторить передачу блока из blksize сегментов начиная с сегмента ackseg+1 (3), т.е передать сегменты 3,4 и 5
2) начать передачу нового сегмента из blksize сегментов с начала, используя смещение источника данных вычисленное на основе ackseg. Т.е будет передано 5 сегментов, из них первые три повтор и еще 2 новые данные.

Ситуация может быть еще сложнее: в ответе на сбойный блок сервер может выдать любой blksize, например
сбойный блок был из 5 сегментов, ответ сервер выдает:
ackseg=2 blksize=4
или
ackseg=2 blksize=10
как кленту на такое реагировать ?


Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th August 2025 - 22:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01347 секунд с 7
ELECTRONIX ©2004-2016