다음을 통해 공유


Ping.Send 메서드

정의

ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 원격 컴퓨터로 보내고 원격 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다.

오버로드

Name Description
Send(String, TimeSpan, Byte[], PingOptions)

지정된 컴퓨터에 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다.

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

지정된 데이터 버퍼가 있는 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 지정된 컴퓨터에 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 오버로드를 사용하면 작업에 대한 제한 시간 값을 지정하고 ICMP 패킷에 대한 조각화 및 Time-to-Live 값을 제어할 수 있습니다.

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

지정된 IPAddress컴퓨터로 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다.

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

지정된 데이터 버퍼가 있는 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 지정된 컴퓨터로 보내고 해당 IPAddress 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 오버로드를 사용하면 작업에 대한 제한 시간 값을 지정하고 ICMP 에코 메시지 패킷에 대한 조각화 및 TL(Time-to-Live) 값을 제어할 수 있습니다.

Send(String, Int32, Byte[])

지정된 데이터 버퍼가 있는 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 지정된 컴퓨터에 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 오버로드를 사용하면 작업에 대한 제한 시간 값을 지정할 수 있습니다.

Send(IPAddress, Int32, Byte[])

지정된 데이터 버퍼가 있는 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 지정된 컴퓨터로 보내고 해당 IPAddress컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 오버로드를 사용하면 작업에 대한 제한 시간 값을 지정할 수 있습니다.

Send(String, Int32)

지정된 컴퓨터에 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 메서드를 사용하면 작업에 대한 제한 시간 값을 지정할 수 있습니다.

Send(IPAddress, Int32)

지정된 데이터 버퍼가 있는 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 지정된 컴퓨터로 보내고 해당 IPAddress컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 메서드를 사용하면 작업에 대한 제한 시간 값을 지정할 수 있습니다.

Send(String)

지정된 컴퓨터에 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다.

Send(IPAddress)

지정된 IPAddress컴퓨터로 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다.

설명

오버로드에서 Send 반환된 IP 주소는 악의적인 원격 컴퓨터에서 발생할 수 있습니다. 이 작업을 사용하여 원격 컴퓨터에 연결하지 마세요. DNS를 사용하여 연결할 컴퓨터의 IP 주소를 확인합니다.

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

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

지정된 컴퓨터에 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, TimeSpan timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress, TimeSpan timeout, byte[]? buffer, System.Net.NetworkInformation.PingOptions? options);
member this.Send : string * TimeSpan * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As TimeSpan, buffer As Byte(), options As PingOptions) As PingReply

매개 변수

hostNameOrAddress
String

String ICMP 에코 메시지의 대상인 컴퓨터를 식별하는 A입니다. 이 매개 변수에 지정된 값은 호스트 이름 또는 IP 주소의 문자열 표현일 수 있습니다.

timeout
TimeSpan

ICMP 에코 응답 메시지를 대기할 최대 시간(에코 메시지를 보낸 후)을 지정하는 값입니다.

buffer
Byte[]

Byte ICMP 에코 메시지와 함께 전송되고 ICMP 에코 응답 메시지에 반환될 데이터가 포함된 배열입니다. 배열에는 65,500바이트를 초과할 수 없습니다.

options
PingOptions

PingOptions ICMP 에코 메시지 패킷에 대한 조각화 및 TL(Time to Live) 값을 제어하는 데 사용되는 개체입니다.

반환

받은 경우 ICMP 에코 회신 메시지 또는 메시지가 수신되지 않은 경우 실패 원인에 대한 정보입니다.

예외

buffer null hostNameOrAddress 또는 hostNameOrAddress 빈 문자열("")입니다.

timeout 는 0밀리초보다 작거나 밀리초보다 MaxValue 큰 시간을 나타냅니다.

buffer'의 크기가 65,500바이트보다 큽니다.

SendAsync에 대한 호출이 진행 중입니다.

ICMP 메시지를 보내거나 받는 동안 예외가 throw되었습니다. throw된 정확한 예외는 내부 예외를 참조하세요.

이 개체가 삭제되었습니다.

적용 대상

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

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

지정된 데이터 버퍼가 있는 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 지정된 컴퓨터에 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 오버로드를 사용하면 작업에 대한 제한 시간 값을 지정하고 ICMP 패킷에 대한 조각화 및 Time-to-Live 값을 제어할 수 있습니다.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions? options);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options);
member this.Send : string * int * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer, buffer As Byte(), options As PingOptions) As PingReply

매개 변수

hostNameOrAddress
String

String ICMP 에코 메시지의 대상인 컴퓨터를 식별하는 A입니다. 이 매개 변수에 지정된 값은 호스트 이름 또는 IP 주소의 문자열 표현일 수 있습니다.

timeout
Int32

Int32 ICMP Echo Reply 메시지를 대기할 최대 시간(에코 메시지를 보낸 후)을 지정하는 값입니다.

buffer
Byte[]

Byte ICMP 에코 메시지와 함께 전송되고 ICMP 에코 응답 메시지에 반환될 데이터가 포함된 배열입니다. 배열에는 65,500바이트를 초과할 수 없습니다.

options
PingOptions

PingOptions ICMP 에코 메시지 패킷에 대한 조각화 및 TL(Time to Live) 값을 제어하는 데 사용되는 개체입니다.

반환

PingReply 받은 경우 ICMP 에코 회신 메시지에 대한 정보를 제공하거나 메시지가 수신되지 않은 경우 실패 이유를 제공하는 개체입니다.

예외

크기 buffer 가 65500바이트를 초과합니다.

hostNameOrAddressnull 길이가 0인 문자열입니다.

-또는-

buffernull입니다.

timeout가 0보다 작습니다.

호출 SendAsync 이 진행 중입니다.

ICMP 메시지를 보내거나 받는 동안 예외가 throw되었습니다. throw된 정확한 예외는 내부 예외를 참조하세요.

이 개체가 삭제되었습니다.

Linux에서만 .NET 7 이상 버전: 프로세스가 권한이 없으며 buffer 비어 있지 않습니다.

예제

다음 코드 예제에서는이 메서드를 호출 하는 방법을 보여 줍니다.

public static void ComplexPing ()
{
    Ping pingSender = new Ping ();

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

    // Wait 10 seconds for a reply.
    int timeout = 10000;

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

    // Send the request.
    PingReply reply = pingSender.Send ("www.contoso.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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

설명

매개 변수에 지정된 timeout 시간 내에 ICMP 에코 회신 메시지를 받지 못하면 ICMP 에코가 실패하고 속성이 StatusTimedOut설정됩니다.

메모

매우 작은 숫자를 timeout지정할 때 밀리초가 경과한 경우에도 timeout Ping 회신을 받을 수 있습니다.

DontFragment 속성이 있고 true 총 패킷 크기가 로컬 컴퓨터와 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 PacketTooBig.

Ttl 이 속성을 사용하여 대상에 도달하기 전에 ICMP 에코 메시지를 전달할 수 있는 최대 횟수를 지정합니다. 패킷이 지정된 횟수만큼 전달된 후 대상에 도달하지 않으면 패킷이 삭제되고 ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 TtlExpired.

적용 대상

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

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

지정된 IPAddress컴퓨터로 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, TimeSpan timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address, TimeSpan timeout, byte[]? buffer, System.Net.NetworkInformation.PingOptions? options);
member this.Send : System.Net.IPAddress * TimeSpan * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As TimeSpan, buffer As Byte(), options As PingOptions) As PingReply

매개 변수

address
IPAddress

IPAddress ICMP 에코 메시지의 대상인 컴퓨터를 식별하는 값입니다.

timeout
TimeSpan

ICMP 에코 응답 메시지를 대기할 최대 시간(에코 메시지를 보낸 후)을 지정하는 값입니다.

buffer
Byte[]

Byte ICMP 에코 메시지와 함께 전송되고 ICMP 에코 응답 메시지에 반환될 데이터가 포함된 배열입니다. 배열에는 65,500바이트를 초과할 수 없습니다.

options
PingOptions

PingOptions ICMP 에코 메시지 패킷에 대한 조각화 및 TL(Time to Live) 값을 제어하는 데 사용되는 개체입니다.

반환

받은 경우 ICMP 에코 회신 메시지 또는 메시지가 수신되지 않은 경우 실패 원인에 대한 정보입니다.

예외

address 또는 buffer .입니다 null.

timeout 는 0밀리초보다 작거나 밀리초보다 MaxValue 큰 시간을 나타냅니다.

buffer'의 크기가 65,500바이트보다 큽니다.

SendAsync에 대한 호출이 진행 중입니다.

ICMP 메시지를 보내거나 받는 동안 예외가 throw되었습니다. throw된 정확한 예외는 내부 예외를 참조하세요.

이 개체가 삭제되었습니다.

적용 대상

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

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

지정된 데이터 버퍼가 있는 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 지정된 컴퓨터로 보내고 해당 IPAddress 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 오버로드를 사용하면 작업에 대한 제한 시간 값을 지정하고 ICMP 에코 메시지 패킷에 대한 조각화 및 TL(Time-to-Live) 값을 제어할 수 있습니다.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions? options);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options);
member this.Send : System.Net.IPAddress * int * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer, buffer As Byte(), options As PingOptions) As PingReply

매개 변수

address
IPAddress

IPAddress ICMP 에코 메시지의 대상인 컴퓨터를 식별하는 값입니다.

timeout
Int32

Int32 ICMP Echo Reply 메시지를 대기할 최대 시간(에코 메시지를 보낸 후)을 지정하는 값입니다.

buffer
Byte[]

Byte ICMP 에코 메시지와 함께 전송되고 ICMP 에코 응답 메시지에 반환될 데이터가 포함된 배열입니다. 배열에는 65,500바이트를 초과할 수 없습니다.

options
PingOptions

PingOptions ICMP 에코 메시지 패킷에 대한 조각화 및 TL(Time to Live) 값을 제어하는 데 사용되는 개체입니다.

반환

PingReply 받은 경우 ICMP 에코 회신 메시지에 대한 정보를 제공하거나 메시지가 수신되지 않은 경우 실패 이유를 제공하는 개체입니다. 패킷이 MTU(최대 전송 단위)를 초과하면 메서드가 반환 PacketTooBig 됩니다.

예외

크기 buffer 가 65500바이트를 초과합니다.

address 또는 buffer .입니다 null.

timeout가 0보다 작습니다.

호출 SendAsync 이 진행 중입니다.

ICMP 메시지를 보내거나 받는 동안 예외가 throw되었습니다. throw된 정확한 예외는 내부 예외를 참조하세요.

이 개체가 삭제되었습니다.

Linux에서만 .NET 7 이상 버전: 프로세스가 권한이 없으며 buffer 비어 있지 않습니다.

예제

다음 코드 예제에서는이 메서드를 호출 하는 방법을 보여 줍니다.

public static void ComplexLocalPing ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    IPAddress address = IPAddress.Loopback;

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

    // Wait 10 seconds for a reply.
    int timeout = 10000;

    // 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);
    PingReply reply = pingSender.Send (address, 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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

설명

매개 변수에 지정된 timeout 시간 내에 ICMP 에코 회신 메시지를 받지 못하면 ICMP 에코가 실패하고 속성이 StatusTimedOut설정됩니다.

메모

매우 작은 숫자를 timeout지정할 때 밀리초가 경과한 경우에도 timeout Ping 회신을 받을 수 있습니다.

DontFragment 속성이 있고 true 총 패킷 크기가 로컬 컴퓨터와 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 PacketTooBig.

Ttl 이 속성을 사용하여 대상에 도달하기 전에 ICMP 에코 메시지를 전달할 수 있는 최대 횟수를 지정합니다. 패킷이 지정된 횟수만큼 전달된 후 대상에 도달하지 않으면 패킷이 삭제되고 ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 TtlExpired.

적용 대상

Send(String, Int32, Byte[])

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

지정된 데이터 버퍼가 있는 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 지정된 컴퓨터에 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 오버로드를 사용하면 작업에 대한 제한 시간 값을 지정할 수 있습니다.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress, int timeout, byte[] buffer);
member this.Send : string * int * byte[] -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer, buffer As Byte()) As PingReply

매개 변수

hostNameOrAddress
String

String ICMP 에코 메시지의 대상인 컴퓨터를 식별하는 A입니다. 이 매개 변수에 지정된 값은 호스트 이름 또는 IP 주소의 문자열 표현일 수 있습니다.

timeout
Int32

Int32 ICMP Echo Reply 메시지를 대기할 최대 시간(에코 메시지를 보낸 후)을 지정하는 값입니다.

buffer
Byte[]

Byte ICMP 에코 메시지와 함께 전송되고 ICMP 에코 응답 메시지에 반환될 데이터가 포함된 배열입니다. 배열에는 65,500바이트를 초과할 수 없습니다.

반환

PingReply 받은 경우 ICMP 에코 회신 메시지에 대한 정보를 제공하거나 메시지가 수신되지 않은 경우 실패 이유를 제공하는 개체입니다.

예외

크기 buffer 가 65500바이트를 초과합니다.

hostNameOrAddressnull 빈 문자열("")인 경우

-또는-

buffernull입니다.

timeout가 0보다 작습니다.

호출 SendAsync 이 진행 중입니다.

ICMP 메시지를 보내거나 받는 동안 예외가 throw되었습니다. throw된 정확한 예외는 내부 예외를 참조하세요.

이 개체가 삭제되었습니다.

Linux에서만 .NET 7 이상 버전: 프로세스가 권한이 없으며 buffer 비어 있지 않습니다.

예제

오버로드를 호출하는 방법을 보여 주는 예제는 Send 클래스 개요를 Ping 참조하세요.

설명

매개 변수에 지정된 timeout 시간 내에 ICMP 에코 회신 메시지를 받지 못하면 ICMP 에코가 실패하고 속성이 StatusTimedOut설정됩니다.

메모

매우 작은 숫자를 timeout지정할 때 밀리초가 경과한 경우에도 timeout Ping 회신을 받을 수 있습니다.

이 오버로드는 패킷 조각화 및 패킷 전달에 대한 기본 설정을 사용합니다. 총 패킷 크기가 로컬 및 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 ICMP 에코 메시지를 포함하는 패킷은 전송 중에 조각화될 수 있습니다. 조각화를 방지하려면 매개 변수를 Send 사용하는 options 메서드 중 하나를 사용하고 속성을 true.로 설정합니다DontFragment. 총 패킷 크기가 true 로컬 컴퓨터와 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 DontFragment ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 PacketTooBig.

패킷 또는 패킷 조각은 삭제되기 전에 노드를 128번 라우팅하여 전달할 수 있습니다. 이 설정을 변경하려면 매개 변수를 Send 사용하는 오버로드를 options 사용하고 속성을 원하는 값으로 설정합니다 Ttl . 패킷이 지정된 횟수만큼 전달된 후 대상에 도달하지 않으면 패킷이 삭제되고 ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 TtlExpired.

적용 대상

Send(IPAddress, Int32, Byte[])

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

지정된 데이터 버퍼가 있는 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 지정된 컴퓨터로 보내고 해당 IPAddress컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 오버로드를 사용하면 작업에 대한 제한 시간 값을 지정할 수 있습니다.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address, int timeout, byte[] buffer);
member this.Send : System.Net.IPAddress * int * byte[] -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer, buffer As Byte()) As PingReply

매개 변수

address
IPAddress

IPAddress ICMP 에코 메시지의 대상인 컴퓨터를 식별하는 값입니다.

timeout
Int32

Int32 ICMP Echo Reply 메시지를 대기할 최대 시간(에코 메시지를 보낸 후)을 지정하는 값입니다.

buffer
Byte[]

Byte ICMP 에코 메시지와 함께 전송되고 ICMP 에코 응답 메시지에 반환될 데이터가 포함된 배열입니다. 배열에는 65,500바이트를 초과할 수 없습니다.

반환

PingReply 받은 경우 ICMP 에코 회신 메시지에 대한 정보를 제공하거나 메시지가 수신되지 않은 경우 실패 이유를 제공하는 개체입니다. 패킷이 MTU(최대 전송 단위)를 초과하면 메서드가 반환 PacketTooBig 됩니다.

예외

크기 buffer 가 65500바이트를 초과합니다.

address 또는 buffer .입니다 null.

timeout가 0보다 작습니다.

호출 SendAsync 이 진행 중입니다.

ICMP 메시지를 보내거나 받는 동안 예외가 throw되었습니다. throw된 정확한 예외는 내부 예외를 참조하세요.

이 개체가 삭제되었습니다.

Linux에서만 .NET 7 이상 버전: 프로세스가 권한이 없으며 buffer 비어 있지 않습니다.

예제

다음 코드 예제에서는이 메서드를 호출 하는 방법을 보여 줍니다.

public static void LocalPingTimeout ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    IPAddress address = IPAddress.Loopback;

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

    // Wait 10 seconds for a reply.
    int timeout = 10000;
    PingReply reply = pingSender.Send (address, timeout, buffer);

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

설명

매개 변수에 지정된 timeout 시간 내에 ICMP 에코 회신 메시지를 받지 못하면 ICMP 에코가 실패하고 속성이 StatusTimedOut설정됩니다.

메모

매우 작은 숫자를 timeout지정할 때 밀리초가 경과한 경우에도 timeout Ping 회신을 받을 수 있습니다.

이 오버로드는 패킷 조각화 및 패킷 전달에 대한 기본 설정을 사용합니다. 총 패킷 크기가 로컬 및 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 ICMP 에코 메시지를 포함하는 패킷은 전송 중에 조각화될 수 있습니다. 조각화를 방지하려면 매개 변수를 Send 사용하는 options 메서드 중 하나를 사용하고 속성을 true.로 설정합니다DontFragment. 총 패킷 크기가 true 로컬 컴퓨터와 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 DontFragment ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 PacketTooBig.

패킷 또는 패킷 조각은 삭제되기 전에 노드를 128번 라우팅하여 전달할 수 있습니다. 이 설정을 변경하려면 매개 변수를 Send 사용하는 오버로드를 options 사용하고 속성을 원하는 값으로 설정합니다 Ttl . 패킷이 지정된 횟수만큼 전달된 후 대상에 도달하지 않으면 패킷이 삭제되고 ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 TtlExpired.

적용 대상

Send(String, Int32)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

지정된 컴퓨터에 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 메서드를 사용하면 작업에 대한 제한 시간 값을 지정할 수 있습니다.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress, int timeout);
member this.Send : string * int -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer) As PingReply

매개 변수

hostNameOrAddress
String

String ICMP 에코 메시지의 대상인 컴퓨터를 식별하는 A입니다. 이 매개 변수에 지정된 값은 호스트 이름 또는 IP 주소의 문자열 표현일 수 있습니다.

timeout
Int32

Int32 ICMP Echo Reply 메시지를 대기할 최대 시간(에코 메시지를 보낸 후)을 지정하는 값입니다.

반환

PingReply 받은 경우 ICMP 에코 회신 메시지에 대한 정보를 제공하거나 메시지가 수신되지 않은 경우 실패 이유를 제공하는 개체입니다.

예외

hostNameOrAddressnull 빈 문자열("")인 경우

timeout가 0보다 작습니다.

호출 SendAsync 이 진행 중입니다.

ICMP 메시지를 보내거나 받는 동안 예외가 throw되었습니다. throw된 정확한 예외는 내부 예외를 참조하세요.

이 개체가 삭제되었습니다.

예제

메서드 호출을 보여 주는 예제는 Send 클래스 개요를 Ping 참조하세요.

설명

매개 변수에 지정된 timeout 시간 내에 ICMP 에코 회신 메시지를 받지 못하면 ICMP 에코가 실패하고 속성이 StatusTimedOut설정됩니다.

메모

매우 작은 숫자를 timeout지정할 때 밀리초가 경과한 경우에도 timeout Ping 회신을 받을 수 있습니다.

이 오버로드는 패킷 조각화 및 패킷 전달에 대한 기본 설정을 사용합니다. 총 패킷 크기가 로컬 및 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 ICMP 에코 메시지를 포함하는 패킷은 전송 중에 조각화될 수 있습니다. 조각화를 방지하려면 매개 변수를 Send 사용하는 options 메서드 중 하나를 사용하고 속성을 true.로 설정합니다DontFragment. 총 패킷 크기가 true 로컬 컴퓨터와 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 DontFragment ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 PacketTooBig. 패킷 또는 패킷 조각(조각화된 경우)은 삭제되기 전에 노드를 128번 라우팅하여 전달할 수 있습니다. 이 설정을 변경하려면 매개 변수를 Send 사용하는 오버로드를 options 사용하고 속성을 원하는 값으로 설정합니다 Ttl . 패킷이 지정된 횟수만큼 전달된 후 대상에 도달하지 않으면 패킷이 삭제되고 ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 TtlExpired.

적용 대상

Send(IPAddress, Int32)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

지정된 데이터 버퍼가 있는 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 지정된 컴퓨터로 보내고 해당 IPAddress컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다. 이 메서드를 사용하면 작업에 대한 제한 시간 값을 지정할 수 있습니다.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address, int timeout);
member this.Send : System.Net.IPAddress * int -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer) As PingReply

매개 변수

address
IPAddress

IPAddress ICMP 에코 메시지의 대상인 컴퓨터를 식별하는 값입니다.

timeout
Int32

Int32 ICMP Echo Reply 메시지를 대기할 최대 시간(에코 메시지를 보낸 후)을 지정하는 값입니다.

반환

PingReply 받은 경우 ICMP 에코 회신 메시지에 대한 정보를 제공하거나 메시지가 수신되지 않은 경우 실패 이유를 제공하는 개체입니다.

예외

addressnull입니다.

timeout가 0보다 작습니다.

호출 SendAsync 이 진행 중입니다.

ICMP 메시지를 보내거나 받는 동안 예외가 throw되었습니다. throw된 정확한 예외는 내부 예외를 참조하세요.

이 개체가 삭제되었습니다.

예제

메서드 호출을 보여 주는 예제는 Send 클래스 개요를 Ping 참조하세요.

설명

매개 변수에 지정된 timeout 시간 내에 ICMP 에코 회신 메시지를 받지 못하면 ICMP 에코가 실패하고 속성이 StatusTimedOut설정됩니다.

메모

매우 작은 숫자를 timeout지정할 때 밀리초가 경과한 경우에도 timeout Ping 회신을 받을 수 있습니다.

이 오버로드는 패킷 조각화 및 패킷 전달에 대한 기본 설정을 사용합니다. 총 패킷 크기가 로컬 및 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 ICMP 에코 메시지를 포함하는 패킷은 전송 중에 조각화될 수 있습니다. 조각화를 방지하려면 매개 변수를 Send 사용하는 options 메서드 중 하나를 사용하고 속성을 true.로 설정합니다DontFragment. 총 패킷 크기가 true 로컬 컴퓨터와 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 DontFragment ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 PacketTooBig.

패킷 또는 패킷 조각은 삭제되기 전에 노드를 128번 라우팅하여 전달할 수 있습니다. 이 설정을 변경하려면 매개 변수를 Send 사용하는 오버로드를 options 사용하고 속성을 원하는 값으로 설정합니다 Ttl . 패킷이 지정된 횟수만큼 전달된 후 대상에 도달하지 않으면 패킷이 삭제되고 ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 TtlExpired.

적용 대상

Send(String)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

지정된 컴퓨터에 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress);
member this.Send : string -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String) As PingReply

매개 변수

hostNameOrAddress
String

String ICMP 에코 메시지의 대상인 컴퓨터를 식별하는 A입니다. 이 매개 변수에 지정된 값은 호스트 이름 또는 IP 주소의 문자열 표현일 수 있습니다.

반환

PingReply 받은 경우 ICMP 에코 회신 메시지에 대한 정보를 제공하거나 메시지가 수신되지 않은 경우 실패 이유를 제공하는 개체입니다.

예외

hostNameOrAddressnull 빈 문자열("")인 경우

호출 SendAsync 이 진행 중입니다.

ICMP 메시지를 보내거나 받는 동안 예외가 throw되었습니다. throw된 정확한 예외는 내부 예외를 참조하세요.

이 개체가 삭제되었습니다.

예제

다음 코드 예제에서는이 메서드를 호출 하는 방법을 보여 줍니다.

public static void SimplePing ()
{
    Ping pingSender = new Ping ();
    PingReply reply = pingSender.Send ("www.contoso.com");

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

설명

이 메서드는 ICMP 에코 메시지를 사용하여 32 Byte 개의 데이터 버퍼를 보냅니다. 이 메서드는 ICMP 에코 응답 메시지에 대해 5초 동안 기다립니다. 해당 시간에 회신을 받지 못하면 메서드가 반환되고 속성이 Status 로 설정 TimedOut됩니다.

이 오버로드는 패킷 조각화 및 패킷 전달에 대한 기본 설정을 사용합니다. 총 패킷 크기가 로컬 및 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 ICMP 에코 메시지를 포함하는 패킷은 전송 중에 조각화될 수 있습니다. 조각화를 방지하려면 매개 변수를 Send 사용하는 options 메서드 중 하나를 사용하고 속성을 true.로 설정합니다DontFragment. 총 패킷 크기가 true 로컬 컴퓨터와 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 DontFragment ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 PacketTooBig. 패킷 또는 패킷 조각(조각화된 경우)은 삭제되기 전에 노드를 128번 라우팅하여 전달할 수 있습니다. 이 설정을 변경하려면 매개 변수를 Send 사용하는 오버로드를 options 사용하고 속성을 원하는 값으로 설정합니다 Ttl . 패킷이 지정된 횟수만큼 전달된 후 대상에 도달하지 않으면 패킷이 삭제되고 ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 TtlExpired.

적용 대상

Send(IPAddress)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

지정된 IPAddress컴퓨터로 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지를 보내고 해당 컴퓨터에서 해당 ICMP 에코 회신 메시지를 수신하려고 시도합니다.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address);
member this.Send : System.Net.IPAddress -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress) As PingReply

매개 변수

address
IPAddress

IPAddress ICMP 에코 메시지의 대상인 컴퓨터를 식별하는 값입니다.

반환

PingReply 수신된 경우 ICMP 에코 회신 메시지에 대한 정보를 제공하거나 메시지가 수신되지 않은 경우 실패 이유를 설명하는 개체입니다.

예외

addressnull입니다.

호출 SendAsync 이 진행 중입니다.

ICMP 메시지를 보내거나 받는 동안 예외가 throw되었습니다. throw된 정확한 예외는 내부 예외를 참조하세요.

이 개체가 삭제되었습니다.

예제

다음 코드 예제에서는이 메서드를 호출 하는 방법을 보여 줍니다.

public static void LocalPing ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    IPAddress address = IPAddress.Loopback;
    PingReply reply = pingSender.Send (address);

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

설명

이 메서드는 ICMP 에코 메시지를 사용하여 32 Byte 데이터 버퍼로 지정된 address 호스트로 보냅니다. 이 메서드는 ICMP 에코 응답 메시지에 대해 5초 동안 기다립니다. 해당 시간에 회신을 받지 못하면 메서드가 반환되고 속성이 Status 로 설정 TimedOut됩니다.

이 오버로드는 패킷 조각화 및 패킷 전달에 대한 기본 설정을 사용합니다. 총 패킷 크기가 로컬 및 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 ICMP 에코 메시지를 포함하는 패킷은 전송 중에 조각화될 수 있습니다. 조각화를 방지하려면 매개 변수를 Send 사용하는 options 메서드 중 하나를 사용하고 속성을 true.로 설정합니다DontFragment. 총 패킷 크기가 true 로컬 컴퓨터와 원격 컴퓨터 간의 라우팅 노드 중 하나에서 전송할 수 있는 최대 패킷 크기를 초과하는 경우 DontFragment ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 PacketTooBig. 패킷 또는 패킷 조각(조각화된 경우)은 삭제되기 전에 노드를 128번 라우팅하여 전달할 수 있습니다. 이 설정을 변경하려면 매개 변수를 Send 사용하는 오버로드를 options 사용하고 속성을 원하는 값으로 설정합니다 Ttl . 패킷이 지정된 횟수만큼 전달된 후 대상에 도달하지 않으면 패킷이 삭제되고 ICMP 에코 요청이 실패합니다. 이 경우 이 Status 값은 .로 설정됩니다 TtlExpired.

적용 대상