이 설명서는 보관되지만 유지 되지 않습니다.

PingReply 클래스

업데이트: 2007년 11월

Send 또는 SendAsync 작업의 결과 상태 및 데이터에 대한 정보를 제공합니다.

네임스페이스:  System.Net.NetworkInformation
어셈블리:  System(System.dll)

public class PingReply
public class PingReply
public class PingReply

Ping 클래스는 원격 컴퓨터에 ICMP(Internet Control Message Protocol) Echo Request를 보내고 해당 컴퓨터로부터 ICMP Echo Reply 메시지를 통해 정보를 다시 받으려고 시도합니다. Ping 클래스는 PingReply 클래스의 인스턴스를 사용하여 작업 상태와 요청을 보내고 회신을 받는 데 걸린 시간 등의 작업에 대한 정보를 반환합니다.

Send 메서드는 PingReply 클래스의 인스턴스를 직접 반환합니다. SendAsync 메서드는 PingCompletedEventHandler 메서드의 PingCompletedEventArgs 매개 변수에 PingReply를 반환합니다. PingReplyReply 속성을 통해 액세스됩니다.

Status의 값이 Success가 아닌 경우에는 RoundtripTime, Options 또는 Buffer 속성에서 반환된 값을 사용하지 말아야 합니다. RoundtripTime 속성은 0을 반환하고, Buffer 속성은 빈 배열을 반환하며, Options 속성은 null을 반환합니다.

다음 코드 예제에서는 Ping 클래스를 사용하여 ICMP Echo Request를 동기적으로 보내고 응답을 표시하는 방법을 보여 줍니다.

using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        // args[0] can be an IPaddress or host name.
        public static void Main (string[] args)
        {
            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 (args[0], 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);
            }
        }
    }
}


System.Object
  System.Net.NetworkInformation.PingReply

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0, 2.0에서 지원
표시: