|
|
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
Привет! У нас тут вынос мозга. Переносится логика работы устройства с серийного порта на IP Всё вроде замечательно, но программа в девайсе понятия не емеет что она отсылает относительно длины полного пакета. Ибо эта шизоидность осталась со времен поблоблочной отсылки. Блоки завязаны на прикладуху, иниже являются и носителями информации, если бы удалось приделать маркет конца логического пакета, то этот ужосс так и остался бы на уровше девайса , но у программиста девайса даже с такой возможностью возникли проблоемы , т.к. понятия "готовый пакет" у него раньше не было В условиях GPRS останавливаться про простой выжидательной позиции ( timeout) может оказаться чревато :) Поэтому тупик! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 13:26 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
Может, вам не TCP использовать, а UDP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 13:42 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
Нет ни начала ни конца пакета и пакеты при этом разной длины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 13:44 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
wadmanНет ни начала ни конца пакета и пакеты при этом разной длины? короткая посылка - туда-обратно раз в сутки , начало есть однозгначно, длина всегда разная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 13:47 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
BlackGnomeГуесткороткая посылка - туда-обратно раз в сутки , начало есть однозгначно, длина всегда разнаяЕсли раз в сутки, то не вижу проблемы. Соединение открыли, данные отправили, соединение закрыли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 13:54 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
BlackGnomeГуест, тут только два варианта: либо вместе с началом пакета сообщается его длина, либо таки прикручивать конец пакета. В идеале еще и контрольная сумма. Хотя, по мне дак и это стандарт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 13:57 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
BlackGnomeГуест...с серийного порта на IP... у последовательного порта так же нет признаков конца. :) как до этого работало? Вот так и делать. т.е. скорее всего ранее было сделано по тайм-ауту, вплоть до верхнего уровня логики. если тупо и ничего не переделывать - то прикрутите тайм-аут поверх TCP. Этот тайм-аут будет явно бОльше чем все тайминги используемые при дроблении потока на нижних уровнях протокола = посему вы гарантированно примите всё что отослали. удачи вам (круглый) ЗЫ Либо квитировать (как уже было сказано выше) данные началом посылки и длиной. Начало посылки можно детектить так-же временным интервалом, либо заголовком, либо изменением статуса канала связи (разрыв/соединение) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 18:05 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
kolobok0у последовательного порта так же нет признаков конца. :)У синхронных - есть. У асинхронных есть стартовый бит, настройка на количество бит данных и необязательный бит контроля чётности. Плюс ограничение на максимальную длину слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 18:24 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov...У асинхронных есть стартовый бит, настройка на количество бит данных и необязательный бит контроля чётности. Плюс ограничение на максимальную длину слова. уважаемый! идёт речь не о слове(в большинстве случаев это байт), а о пакете! пример... слово (макс) = 9 бит. пакет макс = сикока хошь... прочуствуйте разницу... в USARTах есть "механизация" 9 бита. которую можно заюзать для адресации при образщении по последовательной шине. Но это Вас не спасёт, если неизвестна длина данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 18:38 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
kolobok0уважаемый! идёт речь не о слове(в большинстве случаев это байт), а о пакете!Уважаемый! Почитайте про, например, HDLC-кадры, аналог которых задействован в, например, PPP. Для асинхронных портов можете ознакомиться с "flow-control", разные варианты которого использовались, например в SLIP и голосовых протоколах "серии V". Это если отвлечься от аппаратных вариантов управления потоком данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 18:48 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov...асинхронных портов можете ознакомиться с "flow-control"... не отвлекайтесь от темы... вы в один байт решили запаковать служебную инфу и данные? круто... а признак конца как? или вам разрядности байта хватает чтоб передать всю длину так-же? вы только, что говорили про старт-стопы... как вы решили опознавать конец-начало пачки? расскажите на пальцах хотя-бы. а то бедные эмбедеры даже не ведают..мутят какие то длины, заголовки, црц..а тут оказывается всё украли до нас давно уже :) весь во внимании (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 18:55 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
kolobok0не отвлекайтесь от темы...Не делайте некорректных утвержденийвы в один байт решили запаковать служебную инфу и данные?И не приписывайте мне собственные заблуждения.круто... а признак конца как?CD/xoff/DLE. Много было вариантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 19:12 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov...не приписывайте... стоп уважаемый... это ваше? "есть стартовый бит, настройка на количество бит данных и необязательный бит контроля чётности. Плюс ограничение на максимальную длину слова" А ТС спрашивает о синхронизации данных. Которая раньше шла последовательно. на наводящие вопросы, чем ваша инфа может помочь в решении - Вы так лихо стали переключаться на более высокие уровни контроля данных. "HDLC-кадры", "flow-control" и как в лучших традициях "нападение - лучшая защита": "не приписывайте мне собственные заблуждения" молодца... чтоб не разводить воду...по Вашим мотивам... тут популярно, на русском. flow-control если коротко... два метода - аппаратный и программный. программный - подмешиваем в поток старт-стоповые символы....(заметьте идёт речь о потоке данных! а не порте, старт-стоп битах и иже) второй метод - аппаратный. Это когда вы дёргаете доп. линиями у последовательного порта CTS/RTS. Во первых я не видел упоминаний в вашем постинге об этих вещах, что касаемо порта. во вторых попробуйте это сделать под современными форточками - а я погляжу сколько вы будете тратить времени на ожидании так-же тут нет речи о старт-стопах, чётности и иже.. второй ваш эээээ... HDLC если коротко... хоть и обзывают его битоориентированный... но это кадр данных. кратный 8 битам. с заголовками, црц, длиной и полезными данными. (заметьте идёт речь о кадре данных! а не о порте, старт-стоп битах и иже) итого... итог не утешителен. если ваш счётчик постингов достигается за счёт вот такой вот "полезной инфы" - то плохо...очень плохо... удачи усем (круглый) ЗЫ (вздыхая) ох уж эти пионэры... или троли? хрен их разберёт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 19:33 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
BlackGnomeГуест, вновое устройство разрабатываете или адаптер RS/232 -> Ethernet к старому прикручиваете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 20:51 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
ИзопропилBlackGnomeГуест, вновое устройство разрабатываете или адаптер RS/232 -> Ethernet к старому прикручиваете? логика осталась пропитана блочно-серийным подходом, алгоритм останется общий чтобы сопровождать несколько подмодификаций, но эта ветка будет развиваться самостоятельно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 12:43 |
|
||
|
TCP/IP, Маркеровка конца посылки без анализа структуры пакета
|
|||
|---|---|---|---|
|
#18+
BlackGnomeГуестлогика осталась пропитана блочно-серийным подходомЁкарный бабай ... Неужели так трудно понять, что асинхронный последовательный порт это: 1. Две линии данных и необязательная сигнальная земля; 2. Пять сигналов управления . Если вы желаете полноценно заменить последовательный порт вам необходимо или: 1. Реализовать всё, что умеет последовательный порт или: 2. Разобраться с потоком данных конкретного устройства и реализовать всё, что нужно конкретному устройству. P.S. Мдя ... Выкинул MS в NT4 работу с последовательными устройствами по сети и весь прогресс встал колом ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 18:14 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=59&tid=1341937]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 341ms |

| 0 / 0 |
