![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| QuadMan |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 30.6.2015 Репутация: нет Всего: нет |
Подскажите, пожалуйста.
Использую Indy 10. Необходимо написать UDP Server, который принимает сообщения из двух подсетей (в компе две сетевухи). Могу ли я настроить один Server, чтобы он принимал данные сразу из двух подсетей через Bindings, примерно так:
Или, если нет, то меня устроит вариант с приемом только из одной подсети, но в случае отсутствия данных из нее, сервер должен переходить на другую подсеть. В таком варианте, когда я замечаю, что данные не приходят, я переключаюсь на другую подсеть таким образом:
но при этом вылетают разные ошибки... (в момент присваивания нового IP) Ошибки перестали вылетать, когда я стал при необходимости сменить подсеть приема, удалять и создавать сервер заново:
Объясните, пожалуйста, как лучше делать. Спасибо. |
||||||
|
|||||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
лучше создать 2 потока и в них создать отельные сервера
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| kami |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 6 Всего: 72 |
Вообще-то, по умолчанию бинд не проводится. Т.е. если явным образом не задавать Binding, то и привязка идти не будет, сервер будет слушать все сетевые интерфейсы. Насколько я понял, именно такое поведение вам и требуется.
Код уже написан, что мешает проверить его на практике? Навскидку, бегло просмотрев код индейцев, кроме IP для каждого из добавляемых в список биндов нужно указывать порт. Добавлено @ 23:42 Не соглашусь. Индейцы и так на каждый чих создают потоки. На каждый из биндов (кстати, если не задать ни одного, то их в итоге окажется два - на IPv4 и IPv6) тоже создается по одному потоку, обслуживающему listening socket. Тем более, что обработка полученных данных передается через Synchronize, т.е. в основной поток. Как таковое наличие "своих" дополнительных потоков становится нецелесообразным... Бррр. Не зря я не работаю с индейцами... Это сообщение отредактировал(а) kami - 30.6.2015, 23:56 |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |