Ping 클래스

정의

애플리케이션에서 네트워크를 통해 원격 컴퓨터에 액세스할 수 있는지 여부를 확인하는 데 사용하는 클래스입니다.Allows an application to determine whether a remote computer is accessible over the network.

public ref class Ping : System::ComponentModel::Component, IDisposable
public class Ping : System.ComponentModel.Component, IDisposable
type Ping = class
    inherit Component
    interface IDisposable
Public Class Ping
Inherits Component
Implements IDisposable
상속
구현

예제

다음 코드 예제에서는 Ping 클래스를 동기적으로 사용 하는 방법을 보여 줍니다.The following code example demonstrates using the Ping class synchronously.

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::Text;

// args[1] can be an IPaddress or host name.
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   
   Ping ^ pingSender = gcnew Ping;
   PingOptions ^ options = gcnew 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";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   int timeout = 120;
   PingReply ^ reply = pingSender->Send( args[ 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 );
   }

   
}

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);
            }
        }
    }
}

다음 코드 예제에서는 Ping 클래스를 비동기적으로 사용 하는 방법을 보여 줍니다.The following code example demonstrates using the Ping class asynchronously.

#using <System.dll>

using namespace System;
using namespace System::Text;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::ComponentModel;
using namespace System::Threading;
void PingCompletedCallback( Object^ sender, PingCompletedEventArgs^ e );
void DisplayReply( PingReply^ reply );
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   if ( args->Length == 1 )
      throw gcnew ArgumentException( "Ping needs a host or IP Address." );

   String^ who = args[ 1 ];
   AutoResetEvent^ waiter = gcnew AutoResetEvent( false );
   
   Ping ^ pingSender = gcnew Ping;
   
   // When the PingCompleted event is raised,
   // the PingCompletedCallback method is called.
   pingSender->PingCompleted += gcnew PingCompletedEventHandler( PingCompletedCallback );
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   
   // Wait 12 seconds for a reply.
   int timeout = 12000;
   
   // Set options for transmission:
   // The data can go through 64 gateways or routers
   // before it is destroyed, and the data packet
   // cannot be fragmented.
   PingOptions ^ options = gcnew PingOptions( 64,true );
   Console::WriteLine( "Time to live: {0}", options->Ttl );
   Console::WriteLine( "Don't fragment: {0}", options->DontFragment );
   
   // Send the ping asynchronously.
   // Use the waiter as the user token.
   // When the callback completes, it can wake up this thread.
   pingSender->SendAsync( who, timeout, buffer, options, waiter );
   
   // Prevent this example application from ending.
   // A real application should do something useful
   // when possible.
   waiter->WaitOne();
   Console::WriteLine( "Ping example completed." );
}


void PingCompletedCallback( Object^ /*sender*/, PingCompletedEventArgs^ e )
{
   
   // If the operation was canceled, display a message to the user.
   if ( e->Cancelled )
   {
      Console::WriteLine( "Ping canceled." );
      
      // Let the main thread resume. 
      // UserToken is the AutoResetEvent object that the main thread 
      // is waiting for.
      (dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
   }

   
   // If an error occurred, display the exception to the user.
   if ( e->Error != nullptr )
   {
      Console::WriteLine( "Ping failed:" );
      Console::WriteLine( e->Error->ToString() );
      
      // Let the main thread resume. 
      (dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
   }

   PingReply ^ reply = e->Reply;
   DisplayReply( reply );
   
   // Let the main thread resume.
   (dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
}


void DisplayReply( PingReply ^ reply )
{
   if ( reply == nullptr )
      return;

   Console::WriteLine( "ping status: {0}", reply->Status );
   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 );
   }
}

using System;
using System.Text;
using System.Net;
using System.Net.NetworkInformation;
using System.ComponentModel;
using System.Threading;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        public static void Main (string[] args)
        {
            if (args.Length == 0)
                throw new ArgumentException ("Ping needs a host or IP Address.");

            string who = args[0];
            AutoResetEvent waiter = new AutoResetEvent (false);

            Ping pingSender = new Ping ();

            // When the PingCompleted event is raised,
            // the PingCompletedCallback method is called.
            pingSender.PingCompleted += new PingCompletedEventHandler (PingCompletedCallback);

            // Create a buffer of 32 bytes of data to be transmitted.
            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes (data);

            // Wait 12 seconds for a reply.
            int timeout = 12000;

            // Set options for transmission:
            // The data can go through 64 gateways or routers
            // before it is destroyed, and the data packet
            // cannot be fragmented.
            PingOptions options = new PingOptions (64, true);

            Console.WriteLine ("Time to live: {0}", options.Ttl);
            Console.WriteLine ("Don't fragment: {0}", options.DontFragment);

            // Send the ping asynchronously.
            // Use the waiter as the user token.
            // When the callback completes, it can wake up this thread.
            pingSender.SendAsync(who, timeout, buffer, options, waiter);

            // Prevent this example application from ending.
            // A real application should do something useful
            // when possible.
            waiter.WaitOne ();
            Console.WriteLine ("Ping example completed.");
        }

        private static void PingCompletedCallback (object sender, PingCompletedEventArgs e)
        {
            // If the operation was canceled, display a message to the user.
            if (e.Cancelled)
            {
                Console.WriteLine ("Ping canceled.");

                // Let the main thread resume. 
                // UserToken is the AutoResetEvent object that the main thread 
                // is waiting for.
                ((AutoResetEvent)e.UserState).Set ();
            }

            // If an error occurred, display the exception to the user.
            if (e.Error != null)
            {
                Console.WriteLine ("Ping failed:");
                Console.WriteLine (e.Error.ToString ());

                // Let the main thread resume. 
                ((AutoResetEvent)e.UserState).Set();
            }

            PingReply reply = e.Reply;

            DisplayReply (reply);

            // Let the main thread resume.
            ((AutoResetEvent)e.UserState).Set();
        }

        public static void DisplayReply (PingReply reply)
        {
            if (reply == null)
                return;

            Console.WriteLine ("ping status: {0}", reply.Status);
            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);
            }
        }
    }
}

설명

애플리케이션 사용을 Ping 원격 컴퓨터에 연결할 수 있는지 여부를 검색 하는 클래스입니다.Applications use the Ping class to detect whether a remote computer is reachable.

네트워크 토폴로지 Ping 원격 호스트에 성공적으로 연결할 수 있는지 여부를 확인할 수 있습니다.Network topology can determine whether Ping can successfully contact a remote host. 프록시, NAT (네트워크 주소 변환) 장비 또는 방화벽의 현재 상태 및 구성으로 인해 Ping가 성공 하지 못할 수 있습니다.The presence and configuration of proxies, network address translation (NAT) equipment, or firewalls can prevent Ping from succeeding. 성공 Ping 네트워크에서 원격 호스트에 연결할 수 있는지 여부를 나타냅니다. 원격 호스트에는 더 높은 수준의 서비스 (예: 웹 서버)가 보장 되지 않습니다.A successful Ping indicates only that the remote host can be reached on the network; the presence of higher level services (such as a Web server) on the remote host is not guaranteed.

이 클래스는 Ping.exe 명령줄 도구와 유사한 기능을 제공합니다.This class provides functionality similar to the Ping.exe command line tool. SendSendAsync 메서드는 원격 컴퓨터에 ICMP (Internet Control Message Protocol) echo request 메시지를 보내고 해당 컴퓨터에서 ICMP echo reply 메시지를 기다립니다.The Send and SendAsync methods send an Internet Control Message Protocol (ICMP) echo request message to a remote computer and waits for an ICMP echo reply message from that computer. ICMP 메시지에 대 한 자세한 내용은 https://www.ietf.org에서 사용할 수 있는 RFC 792을 참조 하세요.For a detailed description of ICMP messages, see RFC 792, available at https://www.ietf.org.

다음 형식은 Ping 클래스와 함께 사용 되며 아래에 자세히 설명 되어 있습니다.The following types are used with the Ping class and are described in detail below.

유형 이름Type name 설명Description
IPStatus ICMP 에코 요청 메시지의 결과 설명 하는 상태 코드를 정의 합니다.Defines status codes that describe the outcome of an ICMP echo request message.
PingOptions 요청 패킷이 전달 될 수 있는 횟수를 제어 하는 설정 (Ttl)을 구성 하거나 검색할 수 있으며 조각화 (DontFragment) 할 수 있는지 여부를 제어 하는 설정을 구성할 수 있습니다.Allows you to configure or retrieve the settings that control how many times the request packet can be forwarded (Ttl), and whether it can be fragmented (DontFragment ).
PingReply ICMP 에코 요청의 결과 포함합니다.Contains the results of an ICMP echo request.
PingException 복구할 수 없는 오류가 발생 하는 경우 throw 됩니다.Thrown if an unrecoverable error occurs.
PingCompletedEventArgs SendAsync 호출이 완료 되거나 취소 될 때 발생 하는 PingCompleted 이벤트와 연결 된 데이터를 포함 합니다.Contains the data associated with PingCompleted events, which are raised when a SendAsync call completes or is canceled.
PingCompletedEventHandler SendAsync 호출이 완료 되거나 취소 될 때 호출 되는 콜백 메서드를 제공 하는 대리자입니다.The delegate that provides the callback method invoked when a SendAsync call completes or is canceled.

SendSendAsync 메서드는 PingReply 개체의 회신을 반환 합니다.The Send and SendAsync methods return the reply in a PingReply object. PingReply.Status 속성은 요청 결과를 나타내는 IPStatus 값을 반환 합니다.The PingReply.Status property returns an IPStatus value to indicate the outcome of the request.

요청을 보내면, 원격 컴퓨터를 지정 해야 합니다.When sending the request, you must specify the remote computer. 호스트 이름 문자열, 문자열 형식의 IP 주소 또는 IPAddress 개체를 제공 하 여이 작업을 수행할 수 있습니다.You can do this by providing a host name string, an IP address in string format, or an IPAddress object.

또한 다음과 같은 유형의 정보를 지정할 수 있습니다.You can also specify any of the following types of information:

  • 데이터 요청과 함께 전송입니다.Data to accompany the request. buffer를 지정 하면 특정 크기의 패킷이 원격 호스트와 네트워크 경로의 최대 전송 단위 사이에서 이동 하는 데 필요한 시간을 알 수 있습니다.Specifying buffer allows you to learn the amount of time required for a packet of a particular size to travel to and from the remote host and the maximum transmission unit of the network path. buffer 매개 변수를 사용 하는 Send 또는 SendAsync 오버 로드를 참조 하세요.(See the Send or SendAsync overloads that take a buffer parameter.)

  • 여부 ICMP 에코 패킷은 전송 중에 조각화 할 수 있는 합니다.Whether the ICMP Echo packet can be fragmented in transit. DontFragment 속성 및 options 매개 변수를 사용 하는 Send 또는 SendAsync 오버 로드를 참조 하세요.)(See the DontFragment property and the Send or SendAsync overloads that take an options parameter.)

  • 몇 번 라우터 또는 게이트웨이 대상 컴퓨터에 도달 하거나 삭제 하기 전에 패킷을 전달할 수와 같은 라우팅 노드.How many times routing nodes, such as routers or gateways, can forward the packet before it either reaches the destination computer or is discarded. options 매개 변수를 사용 하는 TtlSend 또는 SendAsync 오버 로드를 참조 하세요.(See Ttl and the Send or SendAsync overloads that take an options parameter.)

  • 회신을 받은 시간 제한입니다.The time limit within which the reply must be received. timeout 매개 변수를 사용 하는 Send 또는 SendAsync 오버 로드를 참조 하세요.(See the Send or SendAsync overloads that take a timeout parameter.

Ping 클래스는 요청을 보내기 위한 동기 메서드와 비동기 메서드를 모두 제공 합니다.The Ping class offers both synchronous and asynchronous methods for sending the request. 사용 하 여 애플리케이션 회신을 기다리는 동안 차단 해야 하는 경우는 Send 메서드, 이러한 메서드는 동기적입니다.If your application should block while waiting for a reply, use the Send methods; these methods are synchronous. 애플리케이션을 차단 하지 않아야 하는 경우 사용 하 여 비동기 SendAsync 메서드.If your application should not block, use the asynchronous SendAsync methods. SendAsync 호출은 스레드 풀에서 자동으로 할당 되는 자체 스레드에서 실행 됩니다.A call to SendAsync executes in its own thread that is automatically allocated from the thread pool. 비동기 작업이 완료 되 면 PingCompleted 이벤트를 발생 시킵니다.When the asynchronous operation completes, it raises the PingCompleted event. 애플리케이션 사용을 PingCompletedEventHandler 에 대 한 호출 되는 방법을 지정 하는 대리자 PingCompleted 이벤트입니다.Applications use a PingCompletedEventHandler delegate to specify the method that is called for PingCompleted events. SendAsync를 호출 하기 전에 이벤트에 PingCompletedEventHandler 대리자를 추가 해야 합니다.You must add a PingCompletedEventHandler delegate to the event before calling SendAsync. 대리자의 메서드는 SendAsync 호출의 결과를 설명 하는 PingReply 개체가 포함 된 PingCompletedEventArgs 개체를 받습니다.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call.

동일한 Ping 클래스의 인스턴스를 사용 하 여 여러 동시 ICMP 에코 요청을 생성할 수 없습니다.You cannot use the same instance of the Ping class to generate multiple simultaneous ICMP Echo requests. SendAsync 호출이 진행 되는 동안 Send를 호출 하거나 모든 이전 호출이 완료 되기 전에 SendAsync를 여러 번 호출 하면 InvalidOperationException발생 합니다.Calling Send while a SendAsync call is in progress or calling SendAsync multiple times before all previous calls have completed causes an InvalidOperationException.

생성자

Ping()

Ping 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Ping class.

속성

CanRaiseEvents

구성 요소 이벤트를 발생 시킬 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the component can raise an event.

(다음에서 상속됨 Component)
Container

IContainer가 포함된 Component를 가져옵니다.Gets the IContainer that contains the Component.

(다음에서 상속됨 Component)
DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the Component is currently in design mode.

(다음에서 상속됨 Component)
Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.Gets the list of event handlers that are attached to this Component.

(다음에서 상속됨 Component)
Site

ISiteComponent를 가져오거나 설정합니다.Gets or sets the ISite of the Component.

(다음에서 상속됨 Component)

메서드

CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(다음에서 상속됨 MarshalByRefObject)
Dispose()
Dispose(Boolean)

Ping 개체에서 사용하는 관리되지 않는 리소스를 해제하고, 필요에 따라 관리되는 리소스를 삭제합니다.Releases the unmanaged resources used by the Ping object, and optionally disposes of the managed resources.

Equals(Object)

지정한 개체가 현재 개체와 같은지를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetLifetimeService()

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(다음에서 상속됨 MarshalByRefObject)
GetService(Type)

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.Returns an object that represents a service provided by the Component or by its Container.

(다음에서 상속됨 Component)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(다음에서 상속됨 MarshalByRefObject)
OnPingCompleted(PingCompletedEventArgs)

PingCompleted 이벤트를 발생시킵니다.Raises the PingCompleted event.

Send(IPAddress)

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받으려고 시도합니다.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer.

Send(IPAddress, Int32)

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받으려고 시도합니다.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. 이 메서드를 통해 작업의 시간 제한 값을 지정할 수 있습니다.This method allows you to specify a time-out value for the operation.

Send(IPAddress, Int32, Byte[])

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받으려고 시도합니다.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. 이 오버로드를 통해 작업의 시간 제한 값을 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation.

Send(IPAddress, Int32, Byte[], PingOptions)

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받으려고 시도합니다.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress and receive a corresponding ICMP echo reply message from that computer. 이 오버로드를 사용하여 작업의 제한 시간 값을 지정하고 ICMP Echo 메시지 패킷의 조각화 및 Time-to-Live 값을 제어할 수 있습니다.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP echo message packet.

Send(String)

해당 컴퓨터에서 회신 메시지를 echo 하는 지정된 된 컴퓨터를 제어 메시지 ICMP (Internet Protocol) echo 메시지를 보내고 해당 ICMP를 수신 시도 합니다.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer.

Send(String, Int32)

해당 컴퓨터에서 회신 메시지를 echo 하는 지정된 된 컴퓨터를 제어 메시지 ICMP (Internet Protocol) echo 메시지를 보내고 해당 ICMP를 수신 시도 합니다.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer. 이 메서드를 통해 작업의 시간 제한 값을 지정할 수 있습니다.This method allows you to specify a time-out value for the operation.

Send(String, Int32, Byte[])

해당 컴퓨터에서 회신 메시지를 echo 하는 지정된 된 컴퓨터에 지정된 된 데이터 버퍼를 사용 하 여 제어 메시지 ICMP (Internet Protocol) echo 메시지를 보내고 해당 ICMP를 수신 하는 시도 합니다.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. 이 오버로드를 통해 작업의 시간 제한 값을 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation.

Send(String, Int32, Byte[], PingOptions)

해당 컴퓨터에서 회신 메시지를 echo 하는 지정된 된 컴퓨터에 지정된 된 데이터 버퍼를 사용 하 여 제어 메시지 ICMP (Internet Protocol) echo 메시지를 보내고 해당 ICMP를 수신 하는 시도 합니다.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. 이 오버 로드를 사용 하면 작업 및 조각화 제어에 대 한 제한 시간 값 및 ICMP 패킷의 Time to Live 값을 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP packet.

SendAsync(IPAddress, Int32, Byte[], Object)

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기적으로 시도합니다.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. 이 오버로드를 통해 작업의 시간 제한 값을 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation.

SendAsync(IPAddress, Int32, Byte[], PingOptions, Object)

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기적으로 시도합니다.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. 이 오버로드를 사용하여 작업의 제한 시간 값을 지정하고 ICMP Echo 메시지 패킷의 조각화 및 Time-to-Live 값을 제어할 수 있습니다.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP echo message packet.

SendAsync(IPAddress, Int32, Object)

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기적으로 시도합니다.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. 이 오버로드를 통해 작업의 시간 제한 값을 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation.

SendAsync(IPAddress, Object)

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기적으로 시도합니다.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer.

SendAsync(String, Int32, Byte[], Object)

지정된 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기적으로 시도합니다.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. 이 오버로드를 통해 작업의 시간 제한 값을 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation.

SendAsync(String, Int32, Byte[], PingOptions, Object)

지정된 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기적으로 시도합니다.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. 이 오버 로드를 사용 하면 작업 및 조각화 제어에 대 한 제한 시간 값 및 ICMP 패킷의 Time to Live 값을 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP packet.

SendAsync(String, Int32, Object)

지정된 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기적으로 시도합니다.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer. 이 오버로드를 통해 작업의 시간 제한 값을 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation.

SendAsync(String, Object)

지정된 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기적으로 시도합니다.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer.

SendAsyncCancel()

제어 메시지 ICMP (Internet Protocol) echo 메시지를 보내는 모든 보류 중인 비동기 요청을 취소 하 고 해당 ICMP echo reply 메시지를 받습니다.Cancels all pending asynchronous requests to send an Internet Control Message Protocol (ICMP) echo message and receives a corresponding ICMP echo reply message.

SendPingAsync(IPAddress)

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기 작업으로 보냅니다.Send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receives a corresponding ICMP echo reply message from that computer as an asynchronous operation.

SendPingAsync(IPAddress, Int32)

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기 작업으로 보냅니다.Send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receives a corresponding ICMP echo reply message from that computer as an asynchronous operation. 이 오버로드를 통해 작업의 시간 제한 값을 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation.

SendPingAsync(IPAddress, Int32, Byte[])

지정된 IPAddress를 사용하는 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기 작업으로 보냅니다.Send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receives a corresponding ICMP echo reply message from that computer as an asynchronous operation. 이 오버로드를 사용하면 작업의 시간 초과 값과 송수신하는 데 사용할 수 있는 버퍼를 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation and a buffer to use for send and receive.

SendPingAsync(IPAddress, Int32, Byte[], PingOptions)

지정된 IPAddress를 사용하는 컴퓨터에 지정된 데이터 버퍼의 ICMP(Internet Control Message Protocol) Echo 메시지를 보내고, 해당 컴퓨터로부터 이에 해당하는 ICMP Echo Reply 메시지를 비동기 작업으로 받습니다.Sends an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receives a corresponding ICMP echo reply message from that computer as an asynchronous operation. 이 오버로드를 사용하여 작업의 제한 시간 값을 지정하고 보내고 받는 데 사용할 버퍼를 지정하며 ICMP Echo 메시지 패킷의 조각화 및 Time-to-Live 값을 제어할 수 있습니다.This overload allows you to specify a time-out value for the operation, a buffer to use for send and receive, and control fragmentation and Time-to-Live values for the ICMP echo message packet.

SendPingAsync(String)

지정된 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기 작업으로 보냅니다.Sends an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer as an asynchronous operation.

SendPingAsync(String, Int32)

지정된 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기 작업으로 보냅니다.Sends an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer as an asynchronous operation. 이 오버로드를 통해 작업의 시간 제한 값을 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation.

SendPingAsync(String, Int32, Byte[])

지정된 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기 작업으로 보냅니다.Sends an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer as an asynchronous operation. 이 오버로드를 사용하면 작업의 시간 초과 값과 송수신하는 데 사용할 수 있는 버퍼를 지정할 수 있습니다.This overload allows you to specify a time-out value for the operation and a buffer to use for send and receive.

SendPingAsync(String, Int32, Byte[], PingOptions)

지정된 컴퓨터에 ICMP(Internet Control Message Protocol) Echo 메시지와 지정된 데이터 버퍼를 보내고 해당 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받는 작업을 비동기 작업으로 보냅니다.Sends an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer as an asynchronous operation. 이 오버로드를 사용하여 작업의 제한 시간 값을 지정하고 보내고 받는 데 사용할 버퍼를 지정하며 ICMP Echo 메시지 패킷의 조각화 및 Time-to-Live 값을 제어할 수 있습니다.This overload allows you to specify a time-out value for the operation, a buffer to use for send and receive, and control fragmentation and Time-to-Live values for the ICMP echo message packet.

ToString()

String의 이름이 포함된 Component을 반환합니다(있는 경우).Returns a String containing the name of the Component, if any. 이 메서드는 재정의할 수 없습니다.This method should not be overridden.

(다음에서 상속됨 Component)

이벤트

Disposed

Dispose() 메서드를 호출하여 구성 요소가 삭제되는 경우 발생합니다.Occurs when the component is disposed by a call to the Dispose() method.

(다음에서 상속됨 Component)
PingCompleted

제어 메시지 ICMP (Internet Protocol) echo 메시지를 보내고 해당 ICMP echo reply 메시지를 수신 하기 위해 비동기 작업 완료 되거나 취소 될 때 발생 합니다.Occurs when an asynchronous operation to send an Internet Control Message Protocol (ICMP) echo message and receive the corresponding ICMP echo reply message completes or is canceled.

명시적 인터페이스 구현

IDisposable.Dispose()

Ping 클래스의 인스턴스에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by instances of the Ping class.

적용 대상

추가 정보