簡體   English   中英

如何確定使用哪個適配器?

[英]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”部分。

如何使用C#獲取IP地址的物理(MAC)地址?

它不漂亮,但它可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM