Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 3 сетевых интерфейса, Выбор интерфейса для отправки данных 
V
    Опции темы
konshyn
Дата 17.10.2013, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Доброго вечера всем.

Такое дело.. У меня на компьютере установлено три сетевые карточки. 
Вопрос: когда я создаю сокет, как мне выбирать, через какой сетевой интерфейс отправлять данные?


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
o2n3e
Дата 17.10.2013, 17:12 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Alexeis
Дата 17.10.2013, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



  Каждый сетевой адаптер имеет свой адрес. Насколько я помню, локальный трафик будет отправляться согласно IP адресу назначения. Сервер, очевидно, забиндится сразу на нужный адрес адаптера. Внешний трафик клиента пойдет согласно таблице маршутизации. Без специальных настроек таблицы маршрутизации винда направляет внешний трафик на адаптер, который установил интернет соединение последним.  

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM ICQ Skype   Вверх
feodorv
Дата 17.10.2013, 18:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

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



Цитата(konshyn @  17.10.2013,  17:05 Найти цитируемый пост)
Вопрос: когда я создаю сокет, как мне выбирать, через какой сетевой интерфейс отправлять данные? 

Не ясен смысл вопроса. ОС сама смаршрутизирует как надо, если правильно настроена.
Другое дело, если насильственно требуется установить соединение через выделенный интерфейс (и ни какой другой). Тогда SO_BINDTODEVICE.


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


Опытный
**


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

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



Цитата(Alexeis @  17.10.2013,  17:16 Найти цитируемый пост)
Без специальных настроек таблицы маршрутизации винда направляет внешний трафик на адаптер, который установил интернет соединение последним.  

Это понятно. Но нужна умышленная привязка, независимо от таблицы маршрутизации.

Цитата(feodorv @  17.10.2013,  18:32 Найти цитируемый пост)
Не ясен смысл вопроса.

Вы правильно поняли вопрос. Смысл именно в насильственной привязанности сокета к устройству.  Это то, что нужно. Спасибо





--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
konshyn
Дата 18.10.2013, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня еще один вопрос. Я нашел, как еще с помощью функциюю ioctl привязывать к сетевой карте.
так что лучше: setsockopt или ioctl??

UPD: Функция bind() нужна для привязки только прослушиваего сокета, я так понимаю?

Это сообщение отредактировал(а) konshyn - 18.10.2013, 12:08


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
feodorv
Дата 18.10.2013, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

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



Цитата(konshyn @  18.10.2013,  11:55 Найти цитируемый пост)
Я нашел, как еще с помощью функциюю ioctl привязывать к сетевой карте.

Как?


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
konshyn
Дата 18.10.2013, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(feodorv @  18.10.2013,  12:52 Найти цитируемый пост)
Как? 

Извиняюсь. Это совсем не то. Вопросов больше нет.
Спасибо

Это сообщение отредактировал(а) konshyn - 28.11.2013, 12:18


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
feodorv
Дата 18.10.2013, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

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



Цитата(konshyn @  18.10.2013,  11:55 Найти цитируемый пост)
Функция bind() нужна для привязки только прослушиваего сокета, я так понимаю?

Нет. Вообще говоря, для любого. bind() может устанавливать source IP address, может port, может и то, и другое.


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
o2n3e
Дата 18.10.2013, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




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


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

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