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

 
 
> TCP или UDP?, Подскажите способ реализации
gladov
сообщение Dec 28 2007, 06:36
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 169
Регистрация: 10-11-05
Из: Воронеж
Пользователь №: 10 687



Поздравляю всех с наступающими праздниками!!! santa2.gif

А вопрос у меня такой. Есть классическая ситуация - некоторое устройство управляется компом по сети, причем находятся они в одной локалке, т.е. все быстро и условно надежно. Устройство получает от компа команды, возвращает результаты замеров, статусы и проч. Встает вопрос что использовать: TCP или UDP?

В пользу TCP говорит тот факт, что не надо проверять доставку (а иногда важная команда должна быть обязательно доставлена, причем выполнена только один раз). Тут появляется большое "но". Фактически, те данные, которые я буду передавать (например, команды) - это пакеты. Т.е. явная пакетная передача данных. А TCP потоковый! Он мне даже не скажет, где одна команда закончилась и новая началась. Т.е. мне надо вводить некий механизм синхронизации чтобы отлавливать начало очередного пакета.
Первое что в голову приходит - самому на своем уровне добавлять в пакет его длину. Но если одна из сторон хоть раз ошибется или сетка сглючит и длина пакета окажется неправильной, то я никогда уже не поймаю начало очередного пакета.
Можно вместо длины (или вместе с ней) пометить сигнатурой начало пакета, а в самом пакете делать байт-стаффинг чтобы она там не повторилась. Не нравится - как-то тяжеловесно получается.
Можно сделать по UDP, но там придется городить подтверждение доставки и контроль на недублирование пакетов. Тоже гемор.
Короче, варианты решения я вижу, но все они мне не нравятся. Мне кажется, что есть какое-то простое и красивое решение, а я заблудился в трех соснах. Т.к. ситуация классическая для большинства встроенных систем, поделитесь плз опытом, кто как решает подобные задачи.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- gladov   TCP или UDP?   Dec 28 2007, 06:36
- - Postoroniy_V   Цитата(gladov @ Dec 28 2007, 15:36) Поздр...   Dec 28 2007, 07:57
|- - gladov   Цитата(Postoroniy_V @ Dec 28 2007, 10:57)...   Dec 29 2007, 21:35
|- - Postoroniy_V   Цитата(gladov @ Dec 30 2007, 06:35) Это з...   Dec 30 2007, 05:37
|- - tag   Цитата(gladov @ Dec 30 2007, 00:35) Читал...   Jan 10 2008, 07:36
|- - gladov   Цитата(tag @ Jan 10 2008, 10:36) ...есть ...   Jan 10 2008, 10:56
- - Rst7   ЦитатаНо если одна из сторон хоть раз ошибется или...   Dec 28 2007, 08:18
- - tag   ...вы противоречите сами себе. Если TCP гарантируе...   Dec 28 2007, 08:28
- - iosifk   Цитата(gladov @ Dec 28 2007, 09:36) Поздр...   Dec 28 2007, 09:30
- - KRS   Цитата(gladov @ Dec 28 2007, 09:36) А TCP...   Dec 28 2007, 11:20
- - Rst7   ЦитатаПорядок безусловно будет соблюден, но кто га...   Dec 30 2007, 12:54
- - Aprox   Может, я чего-то не понимаю в тонкостях задачи, но...   Jan 9 2008, 12:23
|- - Rst7   Цитата(Aprox @ Jan 9 2008, 14:23) Может, ...   Jan 10 2008, 06:44
|- - vvs157   Цитата(Rst7 @ Jan 10 2008, 09:44) Это хор...   Jan 10 2008, 12:03
||- - Rst7   Цитата(vvs157 @ Jan 10 2008, 14:03) Испол...   Jan 10 2008, 12:39
||- - vvs157   Цитата(Rst7 @ Jan 10 2008, 15:39) Вот тут...   Jan 10 2008, 16:58
|- - Aprox   Цитата(Rst7 @ Jan 10 2008, 09:44) Это хор...   Jan 10 2008, 17:17
- - Rst7   ЦитатаВопрос традиций Вот и я думаю, зачем челове...   Jan 11 2008, 06:28
|- - vvs157   Цитата(Rst7 @ Jan 11 2008, 09:28) Вот и я...   Jan 11 2008, 12:20
||- - Rst7   Цитата(vvs157 @ Jan 11 2008, 14:20) Весьм...   Jan 11 2008, 12:39
||- - gladov   Цитата(Rst7 @ Jan 11 2008, 15:39) Давай м...   Jan 11 2008, 20:56
||- - vvs157   Цитата(gladov @ Jan 11 2008, 23:56) Полно...   Jan 11 2008, 21:37
||- - Kirill Frolov   Цитата(gladov @ Jan 11 2008, 23:56) Полно...   Jan 12 2008, 08:46
||- - Aprox   Цитата(gladov @ Jan 11 2008, 23:56) Полно...   Jan 14 2008, 08:36
||- - blackfin   Цитата(Aprox @ Jan 14 2008, 11:36) ... до...   Jan 14 2008, 08:52
||- - Aprox   Цитата(blackfin @ Jan 14 2008, 11:52) Ага...   Jan 14 2008, 10:48
|- - Aprox   Цитата(Rst7 @ Jan 11 2008, 09:28) HTML ст...   Jan 11 2008, 13:45
- - Kirill Frolov   Цитата(gladov @ Dec 28 2007, 09:36) В пол...   Jan 11 2008, 14:01
- - Rst7   ЦитатаКогда начинаются разговоры, о том дескать, ч...   Jan 12 2008, 09:31
|- - vvs157   Цитата(Rst7 @ Jan 12 2008, 12:31) А может...   Jan 12 2008, 21:36
|- - Kirill Frolov   Цитата(Rst7 @ Jan 12 2008, 12:31) Я тоже ...   Jan 13 2008, 08:20
- - blackfin   Цитата(Kirill Frolov @ Jan 11 2008, 17:01...   Jan 12 2008, 09:36
- - Rst7   ЦитатаНа телнет неделю? Об этом - чуть ниже, не В...   Jan 13 2008, 12:31
|- - Kirill Frolov   Цитата(Rst7 @ Jan 13 2008, 15:31) Допусти...   Jan 13 2008, 17:47
|- - vvs157   Цитата(Rst7 @ Jan 13 2008, 15:31) А Вы за...   Jan 13 2008, 21:00
- - Rst7   ЦитатаУгу. Ошибка. Такое в реальной жизни не работ...   Jan 13 2008, 18:35
- - Rst7   Цитатагадить потребителю тоже не подобает серьезны...   Jan 14 2008, 06:32
- - Rst7   ЦитатаНа "низшей меге" реализовать полно...   Jan 14 2008, 09:09
|- - blackfin   Цитата(Rst7 @ Jan 14 2008, 12:09) Ну это ...   Jan 14 2008, 09:52
- - GL_basik   Вставлю свои 5 копеек.... Если надо бытро и легко ...   Jan 17 2008, 10:07
|- - Aprox   Цитата(GL_basik @ Jan 17 2008, 13:07) Вст...   Jan 17 2008, 16:12
|- - Dog Pawlowa   Без рассмотрения: - структуры прибора - объема пе...   Jan 17 2008, 16:35
|- - blackfin   Цитата(Aprox @ Jan 17 2008, 19:12) По это...   Jan 17 2008, 16:52
|- - Aprox   Цитата(blackfin @ Jan 17 2008, 19:52) Сра...   Jan 18 2008, 08:21
|- - blackfin   Цитата(Aprox @ Jan 18 2008, 11:21) Необхо...   Jan 18 2008, 09:01
|- - Aprox   Цитата(blackfin @ Jan 18 2008, 12:01) При...   Jan 18 2008, 16:13
|- - blackfin   Цитата(Aprox @ Jan 18 2008, 19:13) Делаю ...   Jan 19 2008, 10:38
|- - Aprox   Цитата(blackfin @ Jan 19 2008, 13:38) Нов...   Jan 20 2008, 16:29
- - Rst7   ЦитатаПо этой причине, конструкторам малых систем...   Jan 17 2008, 16:27
- - GL_basik   Если есть время сначала создавать устройство, пото...   Jan 18 2008, 09:09
- - Rst7   Цитатано ограничение на максимальное кол-во хостов...   Jan 19 2008, 13:46
|- - blackfin   Цитата(Rst7 @ Jan 19 2008, 16:46) Это отк...   Jan 19 2008, 17:23
- - Rst7   ЦитатаА что, существуют switch'и на большее чи...   Jan 19 2008, 18:27
- - prottoss   Привет всем! Прочитал в теме про упоминание A...   Feb 8 2008, 13:22
|- - Aprox   Цитата(prottoss @ Feb 8 2008, 16:22) Прив...   Feb 9 2008, 15:04
|- - Aprox   Цитата(Aprox @ Feb 9 2008, 18:04) Я польз...   Feb 10 2008, 08:13
|- - prottoss   Цитата(Aprox @ Feb 10 2008, 15:13) дабы н...   Feb 10 2008, 09:21
- - Rst7   ЦитатаВозможно у кого нибудь есть наработки по это...   Feb 8 2008, 13:42
|- - prottoss   Цитата(Rst7 @ Feb 8 2008, 20:42) Наработо...   Feb 8 2008, 13:51
- - prottoss   Все оказалось на много проще, чем я думал....пока ...   Feb 8 2008, 15:46
- - Rst7   ЦитатаКогда все отработаю, естественно встанет воп...   Feb 10 2008, 13:00


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

 


RSS Текстовая версия Сейчас: 17th June 2025 - 12:49
Рейтинг@Mail.ru


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