![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
konshyn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 19.9.2013 Репутация: нет Всего: нет |
Доброго вечера всем.
Такое дело.. У меня на компьютере установлено три сетевые карточки. Вопрос: когда я создаю сокет, как мне выбирать, через какой сетевой интерфейс отправлять данные? -------------------- «Потому что ценность акта действия в этой стране возрастает в несколько раз». |
|||
|
||||
o2n3e |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 19.8.2011 Репутация: нет Всего: -5 |
Модератор: Сообщение скрыто. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: нет Всего: 459 |
Каждый сетевой адаптер имеет свой адрес. Насколько я помню, локальный трафик будет отправляться согласно IP адресу назначения. Сервер, очевидно, забиндится сразу на нужный адрес адаптера. Внешний трафик клиента пойдет согласно таблице маршутизации. Без специальных настроек таблицы маршрутизации винда направляет внешний трафик на адаптер, который установил интернет соединение последним.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 1 Всего: 45 |
Не ясен смысл вопроса. ОС сама смаршрутизирует как надо, если правильно настроена. Другое дело, если насильственно требуется установить соединение через выделенный интерфейс (и ни какой другой). Тогда SO_BINDTODEVICE. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
konshyn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 19.9.2013 Репутация: нет Всего: нет |
Это понятно. Но нужна умышленная привязка, независимо от таблицы маршрутизации. Вы правильно поняли вопрос. Смысл именно в насильственной привязанности сокета к устройству. Это то, что нужно. Спасибо -------------------- «Потому что ценность акта действия в этой стране возрастает в несколько раз». |
|||
|
||||
konshyn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 19.9.2013 Репутация: нет Всего: нет |
У меня еще один вопрос. Я нашел, как еще с помощью функциюю ioctl привязывать к сетевой карте.
так что лучше: setsockopt или ioctl?? UPD: Функция bind() нужна для привязки только прослушиваего сокета, я так понимаю? Это сообщение отредактировал(а) konshyn - 18.10.2013, 12:08 -------------------- «Потому что ценность акта действия в этой стране возрастает в несколько раз». |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 1 Всего: 45 |
Как? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
konshyn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 19.9.2013 Репутация: нет Всего: нет |
Извиняюсь. Это совсем не то. Вопросов больше нет. Спасибо Это сообщение отредактировал(а) konshyn - 28.11.2013, 12:18 -------------------- «Потому что ценность акта действия в этой стране возрастает в несколько раз». |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 1 Всего: 45 |
Нет. Вообще говоря, для любого. bind() может устанавливать source IP address, может port, может и то, и другое. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
o2n3e |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 19.8.2011 Репутация: нет Всего: -5 |
Модератор: Сообщение скрыто. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |