Windows Store apps開発[27]NetworkInformationを使用してネットワーク状態の判断と傍受を行う
1734 ワード
注:本文はBeyondVincent(破船)オリジナル先発転載から出典:BeyondVincent(破船)@DevDiv.com
Windows Store appsプログラム開発では,一般的にネットワークインタラクションを行うが,この場合,ネットワーク接続の情報判断や状態の傍受が重要である.次はコードを直接与えて、コードを通じてどのようにネットワークの状態を判断して傍受するかを簡単に理解します.ネットワークの状態を判断するには、次のコードを使用します.
NetworkInformationクラスはstaticクラスに属し、中のメソッドもstaticなので、ここではG e t I n t e rnetConnectionProfileメソッドに直接アクセスしてネットワーク接続情報を取得し、NetworkConnectivity Levelによってネットワークのリンク状態を区別します.NetworkConnectivity Levelの定義は次のとおりです.
ネットワークステータスの変更を傍受するには、次のコードを使用し、上のコードと結合します.NetworkStatusChangedイベントをリスニングすることで、ネットワークの状態が変化するとイベントがトリガーされます.
ここでは簡単なサンプルコードです.使用方法:起動プログラムを実行し、wifiリンクを閉じるなどのネットワークリンクの状態を手動で変更すると、IsConnectedToInternetメソッドが呼び出されます.
コードのダウンロード
Windows Store appsプログラム開発では,一般的にネットワークインタラクションを行うが,この場合,ネットワーク接続の情報判断や状態の傍受が重要である.次はコードを直接与えて、コードを通じてどのようにネットワークの状態を判断して傍受するかを簡単に理解します.ネットワークの状態を判断するには、次のコードを使用します.
private bool IsConnectedToInternet()
{
bool connected = false;
ConnectionProfile cp = NetworkInformation.GetInternetConnectionProfile();
if (cp != null)
{
NetworkConnectivityLevel cl = cp.GetNetworkConnectivityLevel();
connected = cl == NetworkConnectivityLevel.InternetAccess;
}
return connected;
}
NetworkInformationクラスはstaticクラスに属し、中のメソッドもstaticなので、ここではG e t I n t e rnetConnectionProfileメソッドに直接アクセスしてネットワーク接続情報を取得し、NetworkConnectivity Levelによってネットワークのリンク状態を区別します.NetworkConnectivity Levelの定義は次のとおりです.
// :
// 。
[Version(100794368)]
public enum NetworkConnectivityLevel
{
// :
// 。
None = 0,
//
// :
// 。
LocalAccess = 1,
//
// :
// internet 。
ConstrainedInternetAccess = 2,
//
// :
// internet 。
InternetAccess = 3,
}
ネットワークステータスの変更を傍受するには、次のコードを使用し、上のコードと結合します.NetworkStatusChangedイベントをリスニングすることで、ネットワークの状態が変化するとイベントがトリガーされます.
NetworkInformation.NetworkStatusChanged += (object sener) =>
{
if (!IsConnectedToInternet())
{
//
}
else
{
//
}
};
ここでは簡単なサンプルコードです.使用方法:起動プログラムを実行し、wifiリンクを閉じるなどのネットワークリンクの状態を手動で変更すると、IsConnectedToInternetメソッドが呼び出されます.
コードのダウンロード