Как определить, какая из нескольких сетевых карт используется с помощью C #? - PullRequest
1 голос
/ 30 июня 2011

Как я могу узнать, какой IP-адрес клиента используется для связи с сервером в C #, если у меня есть несколько сетевых карт в клиентской системе (так что будет также несколько IP-адресов)? Я хотел бы получить частный IP (не публичный IP) .

                                   OR

Пожалуйста, будьте терпеливы, чтобы прочитать подробности ...

Предположим, у меня несколько сетейкарты, подключенные к моему ПК, как я могу узнать, какая карта используется для связи.Например, если я использую

ping 192.168.x.xxx

, я хотел бы знать, какая карта (и какой IP-адрес) используется для связи.

Команда

netstat

будетрасскажите нам об активных соединениях.Меня не интересуют активные подключения, но я хотел бы знать, какая карта будет использоваться для следующего подключения.То есть, если мы используем ping, какая карта (или IP-адрес) будет использоваться?

Как я могу получить тот же IP-адрес, используя C # (потому что я хотел бы сделать кое-что в WCF, для которого нужна конечная точкаIP-адреса)?

Например, я хотел бы использовать IP (как LocalIP) и порт (как ListeningPort) для создания следующего

net.tcp:// + LocalIP + ":" + ListeningPort + "/Service/ep1;

Ссылку на запрос можно найти по адресу ... https://superuser.com/questions/304372/how-can-i-tell-which-of-multiple-network-cards-is-in-use

1 Ответ

0 голосов
/ 30 июня 2011

Вы можете подключиться к удаленному хосту с помощью Socket и установить конкретный IP-адрес с помощью Bind метода.

...