如何检索网络适配器和区域信息

彩虹网

本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发whatsapp网页版,请参阅 最新文档

本主题演示如何使用 Windows.Networking.Connectivity 命名空间中的类检索与网络适配器关联的 LanIdentifier 对象,以及如何访问可用于确定网络基础结构中相对位置的信息。

LanIdentifier 对象定义了一些方法whatsapp网页版,应用使用这些方法可检索用来确定位置的基础结构/端口 ID 值whatsapp网页版,以及与网络适配器关联的 ID 值。该 ID 以 ConnectionProfile 属性表示来显示其与网络连接的关联。

你需要了解的内容

以下示例使用 JavaScript,且基于网络信息示例。 有关创建使用 JavaScript 的 Windows 运行时应用的常规帮助,请参阅创建第一个使用 JavaScript 的 Windows 运行时应用。

检索所有 LanIdentifier 对象

我们的第一个示例函数调用 NetworkInformation.getLanIdentifiers 方法来检索 LanIdentifier 对象数组。

var networkInfo = Windows.Networking.Connectivity.NetworkInformation;
function DisplayLanIdentifiers() {
     var lanIdentifier = "";
     try {
         var lanIdentifiers = networkInfo.getLanIdentifiers();
         if (lanIdentifiers.length !== 0) {
             lanIdentifier += "Number of LAN Identifiers retrieved: " + lanIdentifiers.length + "\n\r";
             lanIdentifier += "=============================================\n\r";
             for (var i = 0; i < lanIdentifiers.length; i++) {
                 //Display Lan Identifier data for each identifier
                 lanIdentifier += getLanIdentifierData(lanIdentifiers[i]);
                 lanIdentifier += "----------------------------------------------------------------\n\r";
             }
             mySample.displayStatus(lanIdentifier);
         }
         else {
             mySample.displayStatus("No LAN identifier data found");
         }
     }
     catch (e) {
         mySample.displayError("Exception Caught: " + e + "\n\r");
     }
 }

显示 LanIdentifier 对象的属性

然后,我们将上一步中返回的 LanIdentifier 对象传递到以下示例函数,以显示特定的基础结构 ID、端口 ID 和网络适配器 ID 值。

var networkInfo = Windows.Networking.Connectivity.NetworkInformation;
  
function getLanIdentifierData(lanIdentifier) {
    var lanIdentifierData = "";
    var i = 0;
    try {
        if (lanIdentifier === null) {
            return "";
        }
        if (lanIdentifier.infrastructureId !== null) {
            lanIdentifierData += "Infrastructure Type: " + lanIdentifier.infrastructureId.type + "\n\r";
            lanIdentifierData += "Infrastructure Value: [";
            for (i = 0; i < lanIdentifier.infrastructureId.value.length; i++) {
                //Display the Infrastructure value array
                lanIdentifierData += lanIdentifier.infrastructureId.value[i].toString(16) + " ";
            }
            lanIdentifierData += "]\n\r";
        }
        if (lanIdentifier.portId !== null) {
            lanIdentifierData += "Port Type : " + lanIdentifier.portId.type + "\n\r";
            lanIdentifierData += "Port Value: [";
            for (i = 0; i < lanIdentifier.portId.value.length; i++) {
                //Display the PortId value array
                lanIdentifierData += lanIdentifier.portId.value[i].toString(16) + " ";
            }
            lanIdentifierData += "]\n\r";
        }
        if (lanIdentifier.networkAdapterId !== null) {
            lanIdentifierData += "Network Adapter Id : " + lanIdentifier.networkAdapterId + "\n\r";
        }
    }
    catch (e) {
        mySample.displayError("Exception Caught: " + e + "\n\r");
    }
    return lanIdentifierData;
}

其他

创建第一个采用 JavaScript 的 Windows 运行时应用

如何处理网络应用中的异常

如何管理按流量计费的网络成本约束

如何管理网络连接事件和可用性更改

如何检索网络连接信息

如何检索网络连接使用情况数据

参考

LanIdentifier

LanIdentifierData

NetworkAdapter

NetworkInformation

NetworkInformation.getLanIdentifiers

示例

网络信息示例

网络状态背景示例

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。