|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.09.2010, 08:10 | #1 |
Новичок
Джуниор
Регистрация: 06.09.2010
Сообщений: 2
|
UDP Server - потеря пакетов. Возможно ли сделать прием более надежным
Доброго воремени суток.
Передо мной стоит задача разработки приложения, принемающего данные от устройства на базе ПЛИС и записывающего их в файл. Протокол - UDP. Устройство подключено к PC через гигабитный канал и по запросу отправляет установленное число пакетов, размером в 1 килобайт. Проблема состоит в том, что мое приложение, использующее Indy Server теряет пакеты. Опытным путем установлено что стабильно принемается до 8 пакетов за раз. При увеличении их числа до 10-15 начинается рулетка - программа может принять с первой попытки все пакеты, а может и не принять. Что бы принять 20 пакетов - нужно предпринять довольно много попыток. О большем числе пакетов и говорить нечего. Для контроля траффика использую WireShark, он убедительно доказывает - устройство исправно отправляет все положенные пакеты. Версия Indy - восьмая. Пробовал скомпилировать свою прогу на Делфи с десятой версией компонентов - в результате, сервер не принемает вообще ничего. Хотя тут скорее всего сам где-то что-то накосячил и пока что не отловил баг. Ниже представлен код работы со стороны сервера Код:
З.Ы. 2 "Старшие товарищи" пробовали использовать для приема пакетов от устройства некий Fast Net компонент, с тем же что и у меня результатом - потерей пакетов. |
06.09.2010, 09:52 | #2 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
старшие товарищи могли-бы и почитать, что такое UDP протокол и негарантированная доставка ...fastnet udp, это обертка над теми-же UDP сокетами ...переходи на tcp-ip, например.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
06.09.2010, 12:51 | #3 |
Новичок
Джуниор
Регистрация: 06.09.2010
Сообщений: 2
|
Ну протокол не я выбираю, а тот кто программирует саму "плисину". Так что пока что надо искать решение в рамках UDP протокола. К слову, пробовали замедлять скорость отправки пакетов, не особо это помогло...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перехват TCP и UDP пакетов | prog.delphin | Работа с сетью в Delphi | 4 | 31.03.2010 13:21 |
Как сделать обработчик более универсальным? | k1r1ch | Общие вопросы Delphi | 3 | 11.10.2009 19:17 |
Получение и чтение входящих UDP пакетов | XAOC-forever | Работа с сетью в Delphi | 6 | 03.06.2008 10:02 |
помогите сделать программу - чат (Indy UDP) | dr_Lev | Помощь студентам | 2 | 02.12.2007 14:49 |