如何确定使用哪个适配器
本文关键字:适配器 何确定 | 更新日期: 2023-09-27 18:06:34
我需要弄清楚在创建连接时使用的是哪个适配器。换句话说,如果我的机器上有多个网卡(即无线,局域网等),哪个卡用于连接?
如果有人能告诉我正确的方向…
In c#
foreach(var nic in NetworkInterface.GetAllNetworkInterfaces.Where(n => n.OperationalStatus == OperationStatus.UP)
{
if(nic.GetIsNetworkAvailable())
{
//nic is attached to some form of network
}
}
VB . net ForEach nic in NetworkInterface.GetAllNetworkInterfaces.Where(Function(n) n.OperationalStatus = OperationStatus.UP)
If nic.GetIsNetworkAvailable() Then
//nic is attached to some form of network
End If
Next
这将只测试连接到活动网络的活动工作网络接口。
为什么不用MAC地址呢?
也许你可以通过MAC地址映射它:
var nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (var nic in nics)
{
if (nic.OperationalStatus == OperationalStatus.Up)
{
var mac = nic.GetPhysicalAddress().ToString();
if (mac == "your:connections:mac:address")
{
/* ... */
}
}
}
"your:connections:mac:address"部分您可以通过使用LocalEndPoint的IP地址按照此方法计算。
如何使用c#获取IP地址的物理(MAC)地址?