Какой сетевой интерфейс будет использован?
От: dep1974  
Дата: 27.12.06 13:26
Оценка:
Вопрос следующий — есть ли возможность в .NET определить, какой из сетевых интерфейсов локальной машины будет использован для связи с удаленной машиной с известным ip?
Re: Какой сетевой интерфейс будет использован?
От: Светлояр Беларусь  
Дата: 27.12.06 21:20
Оценка:
D>Вопрос следующий — есть ли возможность в .NET определить, какой из сетевых интерфейсов локальной машины будет использован для связи с удаленной машиной с известным ip?

Вопрос не совсем понятен. У вас несколько активных интерфейсов?

Ответ в общих чертах: WMI или WinAPI.
Re[2]: Какой сетевой интерфейс будет использован?
От: pr0ff  
Дата: 27.12.06 21:57
Оценка:
Здравствуйте, Светлояр, Вы писали:

D>>Вопрос следующий — есть ли возможность в .NET определить, какой из сетевых интерфейсов локальной машины будет использован для связи с удаленной машиной с известным ip?


С>Вопрос не совсем понятен. У вас несколько активных интерфейсов?


С>Ответ в общих чертах: WMI или WinAPI.


Помойму имеется ввиду что есть две сетевухи со связью до нужного компа и надо выбрать конкретную.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Какой сетевой интерфейс будет использован?
От: Аноним  
Дата: 27.12.06 23:18
Оценка:
Есть два пути — либо самому проити по таблице маршрутов, либо вызвать коннект на сокете и по завершении спросить getsockname().
Re[2]: Какой сетевой интерфейс будет использован?
От: dep1974  
Дата: 29.12.06 13:31
Оценка:
Здравствуйте, Светлояр, Вы писали:

С>Вопрос не совсем понятен. У вас несколько активных интерфейсов?


Именно. Четыре активных.

С>Ответ в общих чертах: WMI или WinAPI.


В WinAPI ничего подходящего не нашел. Правда знакомый сисадмин посоветовал трюк с побитовым наложением маски интерфейса на ip машины, к которой пойдет пакет. Теоретически результат должен совпасть только с таким же наложением на один из активных интерфейсов.
Re: Какой сетевой интерфейс будет использован?
От: Morpheus_  
Дата: 29.12.06 13:43
Оценка:
Здравствуйте, dep1974, Вы писали:

D>Вопрос следующий — есть ли возможность в .NET определить, какой из сетевых интерфейсов локальной машины будет использован для связи с удаленной машиной с известным ip?


а в чем собственно вопрос? При создании сокета указывается маска по которой определяется какие интерфейсы разрешается использовать...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Какой сетевой интерфейс будет использован?
От: Morpheus_  
Дата: 29.12.06 13:46
Оценка:
D>>Вопрос следующий — есть ли возможность в .NET определить, какой из сетевых интерфейсов локальной машины будет использован для связи с удаленной машиной с известным ip?

M_>а в чем собственно вопрос? При создании сокета указывается маска по которой определяется какие интерфейсы разрешается использовать...


например:
listener = new TcpListener(listenIP, port);


здесь listenIP — это маска которая определяет какие сетевые интерфейсы разрешается использовать для прослушивания порта, можно просто указать конкретный IP адрес нужного интерфейса...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Какой сетевой интерфейс будет использован?
От: AlexML Россия  
Дата: 09.01.07 05:16
Оценка: +1
Здравствуйте, dep1974, Вы писали:

D>Вопрос следующий — есть ли возможность в .NET определить, какой из сетевых интерфейсов локальной машины будет использован для связи с удаленной машиной с известным ip?


Я бы предложил такой способ:

TcpClient client = new TcpClient(HostAddress, HostPort);
string remoteIP = ((IPEndPoint)client.Client.LocalEndPoint).Address.ToString();

При соединении с HostAddress система сама определит по какому интерфейсу связываться и Client.LocalEndPoint вернет ip нужного интерфейса.
Какой сетевой интерфейс будет использован?
От: Аноним  
Дата: 27.12.06 13:48
Оценка:
еле дошло
Скажите, а вне .NET, в винде, это можно как то сделать?


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: Какой сетевой интерфейс будет использован?
От: Аноним  
Дата: 28.12.06 06:46
Оценка:
Самое примитивное решение:
1 Взять протокол
2 Попытаться подключиться
3 подключение успешно — ОК
если нет, берем следующий протокол и переходим к п2


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.