|
TCP или UDP?, Подскажите способ реализации |
|
|
|
Dec 28 2007, 06:36
|
Частый гость
 
Группа: Свой
Сообщений: 169
Регистрация: 10-11-05
Из: Воронеж
Пользователь №: 10 687

|
Поздравляю всех с наступающими праздниками!!! А вопрос у меня такой. Есть классическая ситуация - некоторое устройство управляется компом по сети, причем находятся они в одной локалке, т.е. все быстро и условно надежно. Устройство получает от компа команды, возвращает результаты замеров, статусы и проч. Встает вопрос что использовать: TCP или UDP? В пользу TCP говорит тот факт, что не надо проверять доставку (а иногда важная команда должна быть обязательно доставлена, причем выполнена только один раз). Тут появляется большое "но". Фактически, те данные, которые я буду передавать (например, команды) - это пакеты. Т.е. явная пакетная передача данных. А TCP потоковый! Он мне даже не скажет, где одна команда закончилась и новая началась. Т.е. мне надо вводить некий механизм синхронизации чтобы отлавливать начало очередного пакета. Первое что в голову приходит - самому на своем уровне добавлять в пакет его длину. Но если одна из сторон хоть раз ошибется или сетка сглючит и длина пакета окажется неправильной, то я никогда уже не поймаю начало очередного пакета. Можно вместо длины (или вместе с ней) пометить сигнатурой начало пакета, а в самом пакете делать байт-стаффинг чтобы она там не повторилась. Не нравится - как-то тяжеловесно получается. Можно сделать по UDP, но там придется городить подтверждение доставки и контроль на недублирование пакетов. Тоже гемор. Короче, варианты решения я вижу, но все они мне не нравятся. Мне кажется, что есть какое-то простое и красивое решение, а я заблудился в трех соснах. Т.к. ситуация классическая для большинства встроенных систем, поделитесь плз опытом, кто как решает подобные задачи.
|
|
|
|
|
 |
Ответов
|
Jan 11 2008, 06:28
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Вопрос традиций Вот и я думаю, зачем человеку поступать согласно традициям 30-50летней давности? Тем более, что не прозвучало ни слова о необходимости какой-либо совместимости. Цитата Вообще-то, встроенные в прибор WEB сервера используют не статический, а динамический HTML. HTML статичен по определению. Все остальное - сугубо костыли для обеспечения динамики. Цитата В технологии flash мне удалось реализовать что-то вроде осциллографа, данные для прорисовки которому поступали от удаленного WEB сервера. Запрос и прием данных работает с очень приличной скоростью. Я могу ошибаться в терминах, но это работает. Нет вопросов, идея достойная. Но, насколько я понимаю автора темы, у него есть задача передать данные из устройства в компьютер, в софт верхнего уровня (и обратно). Мало ли что он будет с этими данными делать? Да хоть пид-регулятор, например. Тоже будете на флеше организовывать?  Цитата IE и Firefox Есть еще много разных других браузеров.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 11 2008, 12:39
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата(vvs157 @ Jan 11 2008, 14:20)  Весьма современное телекоммуникационное оборудование и по сей день очень часто имеет порт для конфигурирования с Telnet'ом. По поводу традиций. Эта традиция может считаться устаревшей только при замене на WEB интерфейс, так как иметь под каждое устройство специальую программу крайне не удобно. Моя точка зрения - ни при каких условиях уупрощение жизни программиста или разработчика не должно идти в ущерб интересов потребителя. Давай мы попробуем узнать у автора темы, нужна ли ему возможность работы через Telnet, а точнее - пользоваться Telnet'ом для просмотра данных, передаваемых прибором, и отправки команд этому прибору. Мне что-то подсказывает - не нужна. Правда, он нас за ответы уже поблагодарил, но думаю, еще сюда зайдет.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 11 2008, 20:56
|
Частый гость
 
Группа: Свой
Сообщений: 169
Регистрация: 10-11-05
Из: Воронеж
Пользователь №: 10 687

|
Цитата(Rst7 @ Jan 11 2008, 15:39)  Давай мы попробуем узнать у автора темы, нужна ли ему возможность работы через Telnet, а точнее - пользоваться Telnet'ом для просмотра данных, передаваемых прибором, и отправки команд этому прибору. Мне что-то подсказывает - не нужна. Правда, он нас за ответы уже поблагодарил, но думаю, еще сюда зайдет. Полностью согласен с Rst7. Никаких протоколов верхнего уровня (поверх ТСР) вообще нет смысла городить. Прибор представялет собой некий автоматический регулятор процесса с возможностью вмешательства оператора за компом. С прибора в комп постоянно сыпятся кучи чисел - показания датчиков. А комп их отображает оператору, который, в свою очередь, может повлиять на ход процесса. ВЕБ для этой цели может и был бы удобен, но он уже потребует значительного усложнения железа (сейчас оно очень простое - низшей меги за глаза хватает). Да и время разработки безусловно увеличится. Телнет также ничего не даст, т.к. без графической визуализации числа бесполезны, а управлять устройством без датчиков перед галзами бессмысленно. Хотя я сам приверженец линукса и его прозрачных текстовых протоколов, тут оптимально передавать голые бинарные данные.
|
|
|
|
Сообщений в этой теме
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    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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|