重複の可能性:
C#でインターネット接続が利用可能かどうかを確認してください
MS Windows のインターネット/赤接続が有効かどうかをプログラム (C#) で検出するために使用する必要がある方法を知りたいだけです。
することは可能ですか?
ありがとうございました!
例: WIFI を置いた場合、接続があることをどのように知ることができますか?
重複の可能性:
C#でインターネット接続が利用可能かどうかを確認してください
MS Windows のインターネット/赤接続が有効かどうかをプログラム (C#) で検出するために使用する必要がある方法を知りたいだけです。
することは可能ですか?
ありがとうございました!
例: WIFI を置いた場合、接続があることをどのように知ることができますか?
Ping クラスを見てみましょう
Ping pingSender = new Ping ();
PingOptions options = new PingOptions ();
// Use the default Ttl value which is 128,
// but change the fragmentation behavior.
options.DontFragment = true;
// Create a buffer of 32 bytes of data to be transmitted.
string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
byte[] buffer = Encoding.ASCII.GetBytes (data);
int timeout = 120;
PingReply reply = pingSender.Send ("www.google.com", timeout, buffer, options);
if (reply.Status == IPStatus.Success)
{
Console.WriteLine ("Address: {0}", reply.Address.ToString ());
Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
}
次の方法を使用して、接続を確認します。
public bool CheckForInternetConnection()
{
try
{
using (var client = new WebClient())
using (var stream = client.OpenRead("http://www.google.com"))
{
Console.WriteLine("You Have connectity!");
return true;
}
}
catch
{
Console.WriteLine("No internet connection found.");
return false;
}
}
メソッドは Google の URL のロードを試み、ロードされている場合は true を返し、ロードされていない場合は false を返します。