[英]How do you determine which adapter is used?
我需要弄清楚創建連接時使用的適配器。 換句話說,如果我的機器上有多個NIC卡(即無線,局域網等),哪個卡用於連接?
如果有人能指出我正確的方向......
在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")
{
/* ... */
}
}
}
使用LocalEndPoint的IP地址,可以使用此方法找出“your:connections:mac:address”部分。
它不漂亮,但它可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.