Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> IdUDPClient задержка при отправке сообщения 
:(
    Опции темы
andrey2020
Дата 8.4.2010, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.4.2010

Репутация: нет
Всего: нет



Стоит задача отправки UDP-сообщений большому числу адресатов (300 и более), причем отправка осуществляется в цикле всем за каждое срабатывания таймера (35мс). Адресаты (или их подсеть) могут отпадать, что приводит к существенным в сумме по времени задержкам в отправке (иногда секунда и более), а следовательно нагружается процессор и тормозится прорисовка оконного приложения.
Можно ли как-то настроить сокет (компонент IdUDPClient), чтобы система не останавливалась перед отправкой сообщений "отпавшим" адресатам?
Вопрос доставки сообщения в данной задаче меня не интересует.
Возможно есть другие компоненты, которые работают асинхронно?
Поможет ли создание отдельного потока?..

Буду благодарен за ценные советы и примеры.
PM MAIL   Вверх
XperT
Дата 29.4.2010, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 269
Регистрация: 19.8.2006

Репутация: нет
Всего: 4



Просто запихни всё в поток и не будет торможения в прорисовке. Если хочешь, чтобы каждое сообщение отправлялось асинхронно, то тогда нужно для каждой отправки создавать свой поток.
PM MAIL   Вверх
Romikgy
Дата 2.5.2010, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Код

procedure Broadcast(
    const AData: string; 
    const APort: integer
);

Parameters

AData

Values to send in the datagram.

APort

Port number for the transmission.

Description

Broadcast is a procedure used to send the data specified in AData using the port number specified in APort. Broadcast sends the data to all computers on the network.

Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.