Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

Проблема с UDP   Найти похожие ветки 

 
Pavel_S ©   (2002-10-08 10:19) [0]

Есть сеть из 20 компов.
На первом компе стоит прога остылающая раз в N-секунд команду
на остальные компьютеры, в ответ они отсылают информацию о себе.

Проблема в том, что иногда разные компы не отсылают информацию о себе в ответ на полученную команду - то есть как я понял до них это команда не доходит. Но если перегрузить ту машину, с которой информация не приходит - то после загрузки все нормально начинает работать.

От первого компа отсылается broadcast сообщение.

Использую INDY

Прошу помощи.


 
still ©   (2002-10-08 10:34) [1]

а протокол UDP вообще не гарантирует доставку пакетов. если важно, чтобы пакет дошел необходимо использовать TCP


 
Rouse_ ©   (2002-10-08 18:51) [2]

Попробуй или ТСР или ставить на таймер, то есть, отсылаешь запрос, включаешь таймер, если через определенное время не пришло подтверждение повторяешь, но тебе нужно точно знать какие машины должны ответить

Желаю успехов


 
Alexo Kalinovski   (2002-10-10 08:38) [3]

Нижерасположенный текст можно рассматривать и как вопрос...
У меня аналогичная ситуация...
Компов, правда меньше, но суть остается:
серверная прога отправляет широковещательную UDP, а клиентские программки шлют ответ о своем состоянии через случайную (!) временнУю задержку(до 2-х сек.). В функции задержки активно применяется Application.ProcessMessages, т.к., например, при Sleep(200) - все остальное в проге приостановится. Если задержка >=200ms , то все работает ОК, при условии, что клиентская и серверная программки крутятся на разных компах, в противном случае - бывают траблы.
При частом опросе (раз в секунду) клиентская часть начинает дергаться (например, странно работают TPopupMenu) или, при открытии в клиентском приложении некой модальной формы, выполнение обработчика эвента прихода UDP-пакета приостанавливается в той части, где он отправляет ответ. Разумеется, я предотвращаю повторный вход в обработчик)
Приходится применять кучу различных флажков в ущерб достоверности...


 
Геннадий   (2002-10-10 10:21) [4]

TCP разумно использовать в большой сети. Где вероятный сбои - перепады напряжения, обрыв кабеля и прочее. Зачем он в локалке? Компы в двух шагах друг от друга. Почему некоторые машины не отвечают - трудно сказать. Может что в самом алгоритме?



Страницы: 1 вся ветка

Текущий архив: 2002.12.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-14606
Begin
2002-11-24 19:05
2002.12.05
Про изображения.


1-14536
Sergey_Suhoy
2002-11-26 17:40
2002.12.05
Ошибка


1-14510
Тенгиз
2002-11-26 12:28
2002.12.05
Как действительное число привратить в строку?


14-14793
han_malign
2002-11-15 12:56
2002.12.05
Чип&Дип ФАК


1-14485
Slava
2002-11-25 15:21
2002.12.05
Печать картинки