共用方式為


如何抓取網路連線使用狀況資料 (HTML)

[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]

本主題示範如何使用 Windows.Networking.Connectivity 命名空間中的類別,存取特定一段時間的網路連線頻寬使用量資訊。

如需使用這些物件抓取連線設定檔和存取資訊的一般指導,請參閱如何抓取網路連線資訊

您必須知道的事

技術

先決條件

下列範例使用 JavaScript,並且使用網路資訊範例做為依據。 如需使用 JavaScript 建立 Windows 執行階段應用程式的一般協助,請參閱使用 JavaScript 建立您的第一個 Windows 執行階段應用程式

抓取過去一小時的網際網路連線成本資料

下列範例函式會為網際網路連線抓取 ConnectionProfile。為了抓取所需資料,會將系統 DateTime (currTime) 和 startTime 值傳遞至 getNetworkUsageAsync 方法。傳回的 NetworkUsage 物件包含要求期間內的已傳送和已接收值 (位元組)。

針對行動應用程式案例,您可以將 RoamingStates 值新增至 getNetworkUsageAsync 呼叫,以便將要求的流量資料範圍設定在裝置處於漫遊狀態的期間。

    var networkInfo = Windows.Networking.Connectivity.NetworkInformation;

    function DisplayLocalDataUsage() {
        var currTime = new Date();

        //Set start Time to 1 hour (3600000ms) before current time
        var startTime = new Date(currTime - 3600000);

        //Get the ConnectionProfile that is currently used to connect to the Internet
        var connectionProfile = networkInfo.getInternetConnectionProfile();
        var LocalUsage = connectionProfile.getNetworkUsageAsync(startTime, currTime);
        var lclString = "Local Data Usage: \n\r";
        lclString += "Bytes Sent: " + LocalUsage.bytesSent + "\n\r";
        lclString += "Bytes Received: " + LocalUsage.bytesReceived + "\n\r";
    }

注意  針對未提供網際網路連線的連線,請遵循類似的程序以抓取時間特定成本資訊。其差異在於使用 NetworkInformation.getConnectionProfiles 初次列舉可用的連線設定檔。

 

Windows 市集應用程式和 Windows Phone 市集應用程式的行為差異

GetNetworkUsageAsync 方法在 Windows 8.1 和 Windows Phone 8.1 有不同的行為。在 Windows Phone 呼叫 GetNetworkUsageAsync 方法時,傳回的 NetworkUsage 物件陣列的 ConnectionDuration 屬性一律設定為 0,因為 Windows Phone 不支援此屬性。

相關主題

其他

使用 JavaScript 建立您的第一個 Windows 執行階段應用程式

如何處理網路應用程式中的例外狀況

如何管理計量付費網路費用限制

如何管理網路連線事件與可用性變更

如何抓取網路介面卡和位置資訊

如何抓取網路連線資訊

參考

ConnectionProfile.getNetworkUsageAsync

NetworkInformation

NetworkInformation.getConnectionProfiles

Windows.Networking.Connectivity

範例

網路資訊範例

網路狀態背景範例