Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как анализировать одно и тоже событие в разных местах [D7, XP]


Velimir ©   (2006-10-24 20:44:00) 

Вообщем- то вопрос в теме сформулирован не совсем граммотно, но как граммотно и коротко сформулировать следущее я не знаю...

У меня есть UDP Server (я использую компонент Indy) который принимает пакеты по определнному порту.
Инфа сыпется с очень маленьким инетервалом времени и если писать парсинг пакета в процедуре приема, то я теряю часть пакетов :(
Так вот вопрос: как сделать так чтобы и пакеты успевать принимать и парсить их?

Понятно, что нужно в процедуре приема быстренько перекинуть пакет из буфера в переменную (буфер, массив переменных)... Но вот как заставить другую часть проги реагирорвать на то, что переменная изменилась? И как сделать так, чтобы прием был приоритетен? Это для меня загадка :(

Заранее благодарен за любую помощь!


Velimir   (2006-10-24 21:36:00) [1]

Навернее будет правильнее эту ветку прибить... И перейдем в ту... Просто в той заголовок более правильно отображает смысл вопроса... Вот там народ и откликнулся...


Velimir   (2006-10-24 21:28:00) [2]

То Ketmar: Спасибо. Просто я плохо владею аглицким, чтобы в хелпе искать, то о чем имею слабое представление.
А как поднять приоритет потока?


Ketmar   (2006-10-24 21:24:00) [3]

>[1] Dmitrij_K 24-Oct-2006, 20:55
>может я и ошибаюсь, но кажется так
ошибаешься. новопришедший UDP спокойно выкинет из буфера прошлый и усядется на его место. это тебе не халява с TCP. %-)

>[0] Velimir(c) 24-Oct-2006, 20:44
>Но вот как заставить другую часть проги
>реагирорвать на то, что переменная изменилась?
например, так: CreateEvent(), F1. WaitForSingleObject(), F1. APC даже советовать не буду, хотя это намного удобней.

>И как сделать так, чтобы прием был приоритетен?
поднять приоритет потока?


Velimir   (2006-10-24 20:57:00) [4]

В том-то и дело что UDP построен так, что если ты не усел забрать пакет из буфера, то это проблема принимающей стороны :( Вроде бы так написано в доках (точнее смысл таков)


Dmitrij_K   (2006-10-24 20:55:00) [5]

Пакет может не дойти до тебя, но если OS его принала он не должен уже пропасть.
может я и ошибаюсь, но кажется так


Наверх

Титульная страница Поиск, карта сайта Написать письмо