[C#]Ping Test C# 2009. 3. 22. 18:27

C#으로 Ping을 테스트하는 방법이 없을까.. 하는 생각에 -_-;

그냥 무작정;; 바보같은 짓을 하다가 MSDN에 있는 코드를 발견했다 -_-;

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("127.0.0.1", 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);
            }

C#에서 지원하는 Ping, PingOption, PingReply, PingSender에 의해서 이루어지는 순서이다.
많은 분들이 당연히 알고 있으신 DataBase Connection에서 open()을 실행 했을시

conn.state 를 하면 Open의 유무를 알 수 있듯

여기에서는 PingReply에 의한 Status를 체크하여 성공 유무를 받아 처리한다.

하움.. -_- 확실한건.. 왠만하면 MSDN에서 먼저 찾아보자라는 것을 몸으로 느껴버린 사례이다 ㅠ_ㅠ
앞으로 갈 길은 많고.. 할 것도 많은.. Neo의 삽질은!!

계속된다!!