| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Помогите с компонентами от Indy |
| Автор: Nocsm 12.9.2005, 08:35 |
| Здравствуйте. Суть вопроса: на форме лежат два компонента - IdUDPClient и IdUDPServer из Indy Clients и Servers соотв-но. Установки IdUDPClient: Active=True BroadcastEnabled=True BufferSize=8192 Host=255.255.255.255 Port=1600 ReceiveTimeout=10 Установки IdUDPServer: Active=True Bindings={пусто} BroadcastEnabled=True BufferSize=8192 DefaultPort=1600 ThreadedEvent=False Вот с этими установками все работает нормально. А теперь внимание вопрос: как мне поменять порт соединения в runtime? Замаялся уже, че только не фантазировал - нет связи. Если же нужный порт прописываю в Object Inspector'e в designtime - все работает отлично. В чем проблема? |
| Автор: Snowy 12.9.2005, 10:27 |
| Скорее всего у тебя сервер активен, когда ты меняешь порт. Сначала нужно Active выключить, потом менять порт, потом снова включить. |
| Автор: Nocsm 13.9.2005, 08:18 |
| Snowy>> пробовал - не помогает. Причем ошибок то никаких не выдается, а связи просто нет. |
| Автор: Snowy 13.9.2005, 10:23 | ||
Проверил. Действительно. Опять классическая ошибка Indy. Не любит Indy переконнекты. Выход только один: Создавай клиент и сервер динамически. При смене порта, уничтожай их, создавай снова, но уже с новым портом. Проверил - так работает. Впрочем как всегда. Эта бага похоже в наличии во всех компонентах Indy. |
| Автор: Nocsm 15.9.2005, 16:34 |
| Snowy>>спасибо за помощь, ато я уже было в DirectHand начал сомневаться. |