Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Програмный выбор сетевого подключения.


Автор: creo 15.5.2005, 12:51
Задача:
Есть 2(3,4...N) сетевых подключений (модемных), которые уже подключены.
Необходимо програмно выбрать подключение, по которому будет происходить передача данных.
Вопрос: возможен ли такой програмный выбор?
Заранее благодарен за ответ.

Автор: En_t_end 15.5.2005, 16:24
Что-то я не понял... надо выбрать наиболее подходящий канал связи ?
Если так, то делаешь перебор в каждой итерации которого посылаешь пакет и смотришь за сколько он возвращается, естественно выбираешь тот канал, где быстрей.

Автор: creo 15.5.2005, 21:00
Необходимо реализовать параллельную передачу данных по нескольким каналам.

Автор: En_t_end 16.5.2005, 06:44
Ну дык smile
Делишь файл aka данные на фикс. части в зависимости от кол-ва модемных соединений в определенных процентах от кол-ва файла и отправляешь через каналы связи... вот в принципе и все.

Автор: creo 16.5.2005, 07:53
Именно это я и собираюсь реализовать.
Для этого необходимо сказать проге: эти данные я буду передавать по этому модемному соединению, эти - по второму, а вот эти - по третьему.
Поскольку надо реализовать параллельную передачу, то она для каждого соединения будет происходить в своём потоке. Эти N потоков запускаются параллельно, поэтому вариант открыл одно, передал, закрыл, открыл другое,..и т.д. - не пройдёт.
Я спрашиваю, как програмно (если можно - простейший пример ) реализовать этот алгоритм.
При использовании сокетов конкретное соединение не указывается.

Автор: DENNN 16.5.2005, 09:53
En_t_end
Не путай человека.
В виндах пакет всегда уходит по пути, прописанному в таблице маршрутизации. Если пути нет, то по дефольному, который тоже всегда один.
Можно ли под виндой сделать нормальный load balancing - х.з. Тем более х.з, можно ли такое сделать под рабочей станцией, а не сервером.
Автор, ищи по словам trunking, load balancing, policy routing

Автор: Secandr 18.5.2005, 11:44
Можно сделать так: для разных хостов прописать роутинг через то или иное направление и отправлять данные. Винда уже сама пошлёт их в нужный интерфейс.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)