■ Ping 클래스에서 IP 주소를 사용해 송신하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System; using System.Net; using System.Net.NetworkInformation; byte[] byteArray = new byte[] { 127, 0, 0, 1 }; IPAddress ipAddress = new IPAddress(byteArray); Ping ping = new Ping(); PingReply reply = ping.Send(ipAddress); Console.WriteLine(reply.Status ); Console.WriteLine(reply.RoundtripTime); |
■ PingReply 클래스의 Status/RoundtripTime 속성을 사용하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System; using System.Net.NetworkInformation; Ping ping = new Ping(); PingReply pingReply = ping.Send("localhost"); Console.WriteLine(pingReply.Status ); Console.WriteLine(pingReply.RoundtripTime); |
■ Ping 클래스의 Send 메소드 사용시 타임아웃을 설정하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System.Net.NetworkInformation; Ping ping = new Ping(); ping.Send("127.0.0.1", 10000); |
■ Ping 클래스를 사용해 네트워크 연결 여부를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
using System.Net.NetworkInformation; #region 네트워크 연결 여부 구하기 - IsNetworkConnected() /// <summary> /// 네트워크 연결 여부 구하기 /// </summary> /// <returns>네트워크 연결 여부</returns> public bool IsNetworkConnected() { try { Ping ping = new Ping(); string host = "8.8.8.8"; byte[] bufferArray = new byte[32]; int timeout = 1000; PingOptions pingOptions = new PingOptions(); PingReply pingReply = ping.Send(host, timeout, bufferArray, pingOptions); if(pingReply.Status == IPStatus.Success) { return true; } else if(pingReply.Status == IPStatus.TimedOut) { return false; } else { return false; } } catch { return false; } } #endregion |
■ Ping 클래스를 사용해 인터넷 연결 여부를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
using System.Net.NetworkInformation; #region 인터넷 연결 여부 구하기 - IsInternetConnected() /// <summary> /// 인터넷 연결 여부 구하기 /// </summary> /// <returns>인터넷 연결 여부</returns> public static bool IsInternetConnected() { try { Ping pint = new Ping(); string hostNameOrAddress = "google.com"; byte[] bufferArray = new byte[32]; int timeout = 1000; PingOptions pingOptions = new PingOptions(); PingReply pingRelay = pint.Send(hostNameOrAddress, timeout, bufferArray, pingOptions); return (pingRelay.Status == IPStatus.Success); } catch { return false; } } #endregion |
■ Ping 클래스를 사용하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
using System; using System.Net; using System.Net.NetworkInformation; using System.Text; Ping ping = new Ping(); PingOptions pingOptions = new PingOptions(); pingOptions.DontFragment = true; string source = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; byte[] sourceByteArray = Encoding.ASCII.GetBytes(source); int timeOut = 120; PingReply pingReply = ping.Send ("sample.iptime.org", timeOut, sourceByteArray, pingOptions); if(pingReply.Status == IPStatus.Success) { Console.WriteLine ("Address : {0}" , pingReply.Address ); Console.WriteLine ("RoundTrip Time : {0}ms", pingReply.RoundtripTime ); Console.WriteLine ("Time To Live : {0}" , pingReply.Options.Ttl ); Console.WriteLine ("Don't Fragment : {0}" , pingReply.Options.DontFragment); Console.WriteLine ("Buffer Size : {0}" , pingReply.Buffer.Length ); } |
■ Ping 클래스를 사용해 네트워크 연결을 시험하는 방법을 보여준다. ▶ Ping 클래스 : 네트워크 연결 시험하기 예제 (C#)
|
using System; Console.WriteLine(TryConnectNetwork("192.168.0.1", 3000)); |
▶ Ping 클래스
더 읽기