我需要弄清楚创建连接时使用的适配器。换句话说,如果我的机器上有多个NIC卡(即无线,局域网等),哪个卡用于连接?
如果有人能指出我正确的方向......
答案 0 :(得分:4)
在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
这将仅测试连接到活动网络的活动工作网络接口。
答案 1 :(得分:0)
为什么不使用MAC地址?
答案 2 :(得分:0)
也许您可以通过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地址来了解此方法。
How do I obtain the physical (MAC) address of an IP address using C#?
它不漂亮,但它可以工作。