今天发现获取mac地址发现了一个问题,有的电脑有多个mac地址 怎么判断是当前网络用的mac呢?
下面代码获取mac 拿到的是众多mac地址中的第一个
private static string GetMacAddress()
{
string physicalAddress = "";
NetworkInterface[] nice = NetworkInterface.GetAllNetworkInterfaces();
for (int i = 0; i < nice.Length; i++)
{
print("sdsdsd : " + nice[i].ToString());
}
foreach (NetworkInterface adaper in nice)
{
print("nice:" + nice);
Debug.Log("ad: " + adaper.Description);
if (adaper.Description == "en0")
{
physicalAddress = adaper.GetPhysicalAddress().ToString();
break;
}
else
{
physicalAddress = adaper.GetPhysicalAddress().ToString();
if (physicalAddress != "")
{
break;
};
}
}
return physicalAddress;
}
当前wifi使用的mac地址,如果想要以太网的mac 将Wireless80211 改为Ethernet
public static string GetmacAddress()
{
string strphysicalAddress = "";
var interfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (var iface in interfaces)
{
if (iface.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 && iface.OperationalStatus == OperationalStatus.Up)
{
var physicalAddress = iface.GetPhysicalAddress();
var macAddress = physicalAddress.ToString();
Debug.Log("Current MAC address: " + macAddress);
strphysicalAddress = macAddress;
break;
}
else
{
var physicalAddress = iface.GetPhysicalAddress();
var macAddress = physicalAddress.ToString();
Debug.Log("没网的 MAC address: " + macAddress);
}
}
return strphysicalAddress;
}
文章讨论了在一台有多重MAC地址的电脑上,如何通过代码确定并获取当前网络连接(WiFi或以太网)的MAC地址。提供的代码示例展示了如何遍历网络接口,检查类型(如Wireless80211或Ethernet)和状态,以找到活跃的MAC地址。
4527

被折叠的 条评论
为什么被折叠?



