Поделиться через


Ping.Send Метод

Определение

Пытается отправить эхо-сообщение протокола ICMP на удаленный компьютер и получить соответствующее сообщение ответа на эхо-сообщение ICMP с удаленного компьютера.

Перегрузки

Имя Описание
Send(String, TimeSpan, Byte[], PingOptions)

Пытается отправить сообщение об эхо-сообщении ICMP на указанный компьютер и получить соответствующее сообщение ответа на эхо-сообщение ICMP с этого компьютера.

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

Пытается отправить сообщение об эхо-сообщении протокола ICMP с указанным буфером данных на указанный компьютер и получить соответствующее сообщение ответа на эхо-сообщение ICMP от этого компьютера. Эта перегрузка позволяет указать значение времени ожидания для операции и фрагментации элемента управления и значения времени в реальном времени для пакета ICMP.

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

Пытается отправить сообщение об эхо-сообщении протокола ICMP (ICMP) на указанный компьютер IPAddressи получить соответствующее сообщение ответа на эхо-сообщение ICMP с этого компьютера.

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

Пытается отправить сообщение об эхо-сообщении протокола ICMP с указанным буфером данных на компьютер, имеющий указанный IPAddress и получающий соответствующее сообщение ответа на эхо-сообщение ICMP от этого компьютера. Эта перегрузка позволяет указать значение времени ожидания для операции и фрагментации элемента управления и значения времени в реальном времени для пакета эхо-сообщений ICMP.

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)

Пытается отправить эхо-сообщение протокола ICMP (ICMP) на указанный компьютер IPAddressи получить соответствующее сообщение ответа на эхо-сообщение ICMP с этого компьютера.

Комментарии

IP-адрес, возвращаемый любой из Send перегрузки, может исходить от вредоносного удаленного компьютера. Не подключайтесь к удаленному компьютеру с помощью этого. Используйте DNS для определения IP-адреса компьютера, к которому требуется подключиться.

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

Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
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. Значение, указанное для этого параметра, может быть именем узла или строковым представлением IP-адреса.

timeout
TimeSpan

Значение, указывающее максимальное время (после отправки сообщения эхо) для ожидания сообщения ответа на эхо ICMP.

buffer
Byte[]

Byte Массив, содержащий данные, отправляемые с сообщением эхо ICMP и возвращаемый в ответном сообщении ICMP. Массив не может содержать более 65 500 байт.

options
PingOptions

Объект PingOptions , используемый для управления фрагментацией и значениями времени в реальном времени для пакета эхо-сообщений ICMP.

Возвращаемое значение

Сведения об ответе на эхо-сообщение ICMP, если он был получен, или причина сбоя, если сообщение не получено.

Исключения

buffer или hostNameOrAddress является nullhostNameOrAddress пустой строкой ("").

timeout представляет время меньше нуля миллисекунда или больше MaxValue миллисекунда.

Размер bufferфайла превышает 65 500 байт.

Выполняется вызов SendAsync.

Исключение было вызвано при отправке или получении сообщений ICMP. См. внутреннее исключение для точного исключения, которое было создано.

Этот объект был удален.

Применяется к

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

Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs

Пытается отправить сообщение об эхо-сообщении протокола ICMP с указанным буфером данных на указанный компьютер и получить соответствующее сообщение ответа на эхо-сообщение ICMP от этого компьютера. Эта перегрузка позволяет указать значение времени ожидания для операции и фрагментации элемента управления и значения времени в реальном времени для пакета ICMP.

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. Значение, указанное для этого параметра, может быть именем узла или строковым представлением IP-адреса.

timeout
Int32

Значение Int32 , указывающее максимальное количество миллисекунда (после отправки сообщения эхо) для ожидания сообщения ответа на эхо-ответ ICMP.

buffer
Byte[]

Byte Массив, содержащий данные, отправляемые с сообщением эхо ICMP и возвращаемый в ответном сообщении ICMP. Массив не может содержать более 65 500 байт.

options
PingOptions

Объект PingOptions , используемый для управления фрагментацией и значениями времени в реальном времени для пакета эхо-сообщений ICMP.

Возвращаемое значение

PingReply Объект, предоставляющий сведения об сообщении ответа на эхо-ответ ICMP, если он был получен, или предоставляет причину сбоя, если сообщение не получено.

Исключения

buffer Размер превышает 65500 байт.

hostNameOrAddress имеет null или является строкой нулевой длины.

–или–

buffer равно null.

timeout меньше нуля.

Вызов SendAsync выполняется.

Исключение было вызвано при отправке или получении сообщений ICMP. См. внутреннее исключение для точного исключения, которое было создано.

Этот объект был удален.

.NET 7 и более поздних версий только в Linux: процесс не является привилегированным и 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);
    }
}

Комментарии

Если сообщение ответа на эхо-сообщение ICMP не получено в течение времени, указанного timeout параметром, то эхо ICMP завершается ошибкой, а Status для свойства задано значение TimedOut.

Замечание

При указании очень небольших timeoutчисел для ответа Ping можно получить даже в том случае, если timeout миллисекунда прошло.

DontFragment Если свойство равно true и общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами, запрос эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано PacketTooBigзначение .

Ttl Используйте свойство, чтобы указать максимальное количество переадресации сообщения эхо ICMP перед достижением назначения. Если пакет не достигает своего назначения после переадресации указанного количества раз, пакет удаляется, а запрос на эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано TtlExpiredзначение .

Применяется к

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

Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs

Пытается отправить сообщение об эхо-сообщении протокола ICMP (ICMP) на указанный компьютер IPAddressи получить соответствующее сообщение ответа на эхо-сообщение 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.

Возвращаемое значение

Сведения об ответе на эхо-сообщение ICMP, если он был получен, или причина сбоя, если сообщение не получено.

Исключения

address или buffer есть null.

timeout представляет время меньше нуля миллисекунда или больше MaxValue миллисекунда.

Размер bufferфайла превышает 65 500 байт.

Выполняется вызов SendAsync.

Исключение было вызвано при отправке или получении сообщений ICMP. См. внутреннее исключение для точного исключения, которое было создано.

Этот объект был удален.

Применяется к

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

Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs

Пытается отправить сообщение об эхо-сообщении протокола ICMP с указанным буфером данных на компьютер, имеющий указанный IPAddress и получающий соответствующее сообщение ответа на эхо-сообщение ICMP от этого компьютера. Эта перегрузка позволяет указать значение времени ожидания для операции и фрагментации элемента управления и значения времени в реальном времени для пакета эхо-сообщений ICMP.

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.

buffer
Byte[]

Byte Массив, содержащий данные, отправляемые с сообщением эхо ICMP и возвращаемый в ответном сообщении ICMP. Массив не может содержать более 65 500 байт.

options
PingOptions

Объект PingOptions , используемый для управления фрагментацией и значениями времени в реальном времени для пакета эхо-сообщений ICMP.

Возвращаемое значение

PingReply Объект, предоставляющий сведения об ответном сообщении ICMP, если он был получен или предоставляет причину сбоя, если сообщение не было получено. Метод возвращается PacketTooBig , если пакет превышает максимальную единицу передачи (MTU).

Исключения

buffer Размер превышает 65500 байт.

address или buffer есть null.

timeout меньше нуля.

Вызов SendAsync выполняется.

Исключение было вызвано при отправке или получении сообщений ICMP. См. внутреннее исключение для точного исключения, которое было создано.

Этот объект был удален.

.NET 7 и более поздних версий только в Linux: процесс не является привилегированным и 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);
    }
}

Комментарии

Если сообщение ответа на эхо-сообщение ICMP не получено в течение времени, указанного timeout параметром, то эхо ICMP завершается ошибкой, а Status для свойства задано значение TimedOut.

Замечание

При указании очень небольших timeoutчисел для ответа Ping можно получить даже в том случае, если timeout миллисекунда прошло.

DontFragment Если свойство равно true и общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами, запрос эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано PacketTooBigзначение .

Ttl Используйте свойство, чтобы указать максимальное количество переадресации сообщения эхо ICMP перед достижением назначения. Если пакет не достигает своего назначения после переадресации указанного количества раз, пакет удаляется, а запрос на эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано TtlExpiredзначение .

Применяется к

Send(String, Int32, Byte[])

Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
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. Значение, указанное для этого параметра, может быть именем узла или строковым представлением IP-адреса.

timeout
Int32

Значение Int32 , указывающее максимальное количество миллисекунда (после отправки сообщения эхо) для ожидания сообщения ответа на эхо-ответ ICMP.

buffer
Byte[]

Byte Массив, содержащий данные, отправляемые с сообщением эхо ICMP и возвращаемый в ответном сообщении ICMP. Массив не может содержать более 65 500 байт.

Возвращаемое значение

PingReply Объект, предоставляющий сведения об сообщении ответа на эхо-ответ ICMP, если он был получен, или предоставляет причину сбоя, если сообщение не получено.

Исключения

buffer Размер превышает 65500 байт.

hostNameOrAddress имеет null или является пустой строкой ("").

–или–

buffer равно null.

timeout меньше нуля.

Вызов SendAsync выполняется.

Исключение было вызвано при отправке или получении сообщений ICMP. См. внутреннее исключение для точного исключения, которое было создано.

Этот объект был удален.

.NET 7 и более поздних версий только в Linux: процесс не является привилегированным и buffer не пуст.

Примеры

Пример, демонстрирующий вызов перегрузки Send , см. в обзоре Ping класса.

Комментарии

Если сообщение ответа на эхо-сообщение ICMP не получено в течение указанного в параметре timeout времени, то эхо ICMP завершается ошибкой, а Status для свойства задано значение TimedOut.

Замечание

При указании очень небольших timeoutчисел для ответа Ping можно получить даже в том случае, если timeout миллисекунда прошло.

Эта перегрузка использует параметры по умолчанию для фрагментации пакетов и пересылки пакетов. Пакет, содержащий эхо-сообщение ICMP, может быть фрагментирован при передаче, если общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами. Чтобы предотвратить фрагментацию, используйте один из Send методов, который принимает options параметр, и задайте DontFragment для свойства значение true. true Если DontFragment и общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами, запрос эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано PacketTooBigзначение .

Фрагменты пакетов или пакетов можно перенаправить с помощью узлов маршрутизации 128 раз перед отменой. Чтобы изменить этот параметр, используйте Send перегрузку, options принимающую параметр, и задайте Ttl для свойства требуемое значение. Если пакет не достигает своего назначения после переадресации указанного количества раз, пакет удаляется, а запрос на эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано TtlExpiredзначение .

Применяется к

Send(IPAddress, Int32, Byte[])

Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
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.

buffer
Byte[]

Byte Массив, содержащий данные, отправляемые с сообщением эхо ICMP и возвращаемый в ответном сообщении ICMP. Массив не может содержать более 65 500 байт.

Возвращаемое значение

PingReply Объект, предоставляющий сведения об ответном сообщении ICMP, если он был получен или предоставляет причину сбоя, если сообщение не было получено. Метод возвращается PacketTooBig , если пакет превышает максимальную единицу передачи (MTU).

Исключения

buffer Размер превышает 65500 байт.

address или buffer есть null.

timeout меньше нуля.

Вызов SendAsync выполняется.

Исключение было вызвано при отправке или получении сообщений ICMP. См. внутреннее исключение для точного исключения, которое было создано.

Этот объект был удален.

.NET 7 и более поздних версий только в Linux: процесс не является привилегированным и 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);
    }
}

Комментарии

Если сообщение ответа на эхо-сообщение ICMP не получено в течение указанного в параметре timeout времени, то эхо ICMP завершается ошибкой, а Status для свойства задано значение TimedOut.

Замечание

При указании очень небольших timeoutчисел для ответа Ping можно получить даже в том случае, если timeout миллисекунда прошло.

Эта перегрузка использует параметры по умолчанию для фрагментации пакетов и пересылки пакетов. Пакет, содержащий эхо-сообщение ICMP, может быть фрагментирован при передаче, если общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами. Чтобы предотвратить фрагментацию, используйте один из Send методов, который принимает options параметр, и задайте DontFragment для свойства значение true. true Если DontFragment и общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами, запрос эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано PacketTooBigзначение .

Фрагменты пакетов или пакетов можно перенаправить с помощью узлов маршрутизации 128 раз перед отменой. Чтобы изменить этот параметр, используйте Send перегрузку, options принимающую параметр, и задайте Ttl для свойства требуемое значение. Если пакет не достигает своего назначения после переадресации указанного количества раз, пакет удаляется, а запрос на эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано TtlExpiredзначение .

Применяется к

Send(String, Int32)

Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
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. Значение, указанное для этого параметра, может быть именем узла или строковым представлением IP-адреса.

timeout
Int32

Значение Int32 , указывающее максимальное количество миллисекунда (после отправки сообщения эхо) для ожидания сообщения ответа на эхо-ответ ICMP.

Возвращаемое значение

PingReply Объект, предоставляющий сведения об сообщении ответа на эхо-ответ ICMP, если он был получен, или предоставляет причину сбоя, если сообщение не получено.

Исключения

hostNameOrAddress имеет null или является пустой строкой ("").

timeout меньше нуля.

Вызов SendAsync выполняется.

Исключение было вызвано при отправке или получении сообщений ICMP. См. внутреннее исключение для точного исключения, которое было создано.

Этот объект был удален.

Примеры

Пример, демонстрирующий вызов Send метода, см. в обзоре Ping класса.

Комментарии

Если сообщение ответа на эхо-сообщение ICMP не получено в течение указанного в параметре timeout времени, то эхо ICMP завершается ошибкой, а Status для свойства задано значение TimedOut.

Замечание

При указании очень небольших timeoutчисел для ответа Ping можно получить даже в том случае, если timeout миллисекунда прошло.

Эта перегрузка использует параметры по умолчанию для фрагментации пакетов и пересылки пакетов. Пакет, содержащий эхо-сообщение ICMP, может быть фрагментирован при передаче, если общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами. Чтобы предотвратить фрагментацию, используйте один из Send методов, который принимает options параметр, и задайте DontFragment для свойства значение true. true Если DontFragment и общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами, запрос эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано PacketTooBigзначение . Фрагменты пакета или пакета (если фрагментированы) можно перенаправить с помощью узлов маршрутизации 128 раз перед удалением. Чтобы изменить этот параметр, используйте Send перегрузку, options принимающую параметр, и задайте Ttl для свойства требуемое значение. Если пакет не достигает своего назначения после переадресации указанного количества раз, пакет удаляется, а запрос на эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано TtlExpiredзначение .

Применяется к

Send(IPAddress, Int32)

Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
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.

Возвращаемое значение

PingReply Объект, предоставляющий сведения об сообщении ответа на эхо-ответ ICMP, если он был получен, или предоставляет причину сбоя, если сообщение не получено.

Исключения

address равно null.

timeout меньше нуля.

Вызов SendAsync выполняется.

Исключение было вызвано при отправке или получении сообщений ICMP. См. внутреннее исключение для точного исключения, которое было создано.

Этот объект был удален.

Примеры

Пример, демонстрирующий вызов Send метода, см. в обзоре Ping класса.

Комментарии

Если сообщение ответа на эхо-сообщение ICMP не получено в течение указанного в параметре timeout времени, то эхо ICMP завершается ошибкой, а Status для свойства задано значение TimedOut.

Замечание

При указании очень небольших timeoutчисел для ответа Ping можно получить даже в том случае, если timeout миллисекунда прошло.

Эта перегрузка использует параметры по умолчанию для фрагментации пакетов и пересылки пакетов. Пакет, содержащий эхо-сообщение ICMP, может быть фрагментирован при передаче, если общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами. Чтобы предотвратить фрагментацию, используйте один из Send методов, который принимает options параметр, и задайте DontFragment для свойства значение true. true Если DontFragment и общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами, запрос эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано PacketTooBigзначение .

Фрагменты пакетов или пакетов можно перенаправить с помощью узлов маршрутизации 128 раз перед отменой. Чтобы изменить этот параметр, используйте Send перегрузку, options принимающую параметр, и задайте Ttl для свойства требуемое значение. Если пакет не достигает своего назначения после переадресации указанного количества раз, пакет удаляется, а запрос на эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано TtlExpiredзначение .

Применяется к

Send(String)

Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
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. Значение, указанное для этого параметра, может быть именем узла или строковым представлением IP-адреса.

Возвращаемое значение

PingReply Объект, предоставляющий сведения об ответном сообщении ICMP, если он был получен или предоставляет причину сбоя, если сообщение не было получено.

Исключения

hostNameOrAddress имеет null или является пустой строкой ("").

Вызов SendAsync выполняется.

Исключение было вызвано при отправке или получении сообщений ICMP. См. внутреннее исключение для точного исключения, которое было создано.

Этот объект был удален.

Примеры

В следующем примере кода показано, как вызвать этот метод.

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

Комментарии

Этот метод отправляет 32 Byte буфера данных с сообщением эхо ICMP. Метод ожидает пять секунд в ответном сообщении ICMP. Если он не получает ответ в это время, метод возвращается и Status свойство задается.TimedOut

Эта перегрузка использует параметры по умолчанию для фрагментации пакетов и пересылки пакетов. Пакет, содержащий эхо-сообщение ICMP, может быть фрагментирован при передаче, если общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами. Чтобы предотвратить фрагментацию, используйте один из Send методов, который принимает options параметр, и задайте DontFragment для свойства значение true. true Если DontFragment и общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами, запрос эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано PacketTooBigзначение . Фрагменты пакета или пакета (если фрагментированы) можно перенаправить с помощью узлов маршрутизации 128 раз перед удалением. Чтобы изменить этот параметр, используйте Send перегрузку, options принимающую параметр, и задайте Ttl для свойства требуемое значение. Если пакет не достигает своего назначения после переадресации указанного количества раз, пакет удаляется, а запрос на эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано TtlExpiredзначение .

Применяется к

Send(IPAddress)

Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs
Исходный код:
Ping.cs

Пытается отправить эхо-сообщение протокола ICMP (ICMP) на указанный компьютер IPAddressи получить соответствующее сообщение ответа на эхо-сообщение 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, если он был получен, или описывает причину сбоя, если сообщение не было получено.

Исключения

address равно null.

Вызов SendAsync выполняется.

Исключение было вызвано при отправке или получении сообщений ICMP. См. внутреннее исключение для точного исключения, которое было создано.

Этот объект был удален.

Примеры

В следующем примере кода показано, как вызвать этот метод.

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

Комментарии

Этот метод отправляется на узел, указанный address буфером данных 32 Byte с сообщением эхо ICMP. Метод ожидает пять секунд в ответном сообщении ICMP. Если он не получает ответ в это время, метод возвращается и Status свойство задается.TimedOut

Эта перегрузка использует параметры по умолчанию для фрагментации пакетов и пересылки пакетов. Пакет, содержащий эхо-сообщение ICMP, может быть фрагментирован при передаче, если общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами. Чтобы предотвратить фрагментацию, используйте один из Send методов, который принимает options параметр, и задайте DontFragment для свойства значение true. true Если DontFragment и общий размер пакета превышает максимальный размер пакета, который может передаваться одним из узлов маршрутизации между локальными и удаленными компьютерами, запрос эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано PacketTooBigзначение . Фрагменты пакета или пакета (если фрагментированы) можно перенаправить с помощью узлов маршрутизации 128 раз перед удалением. Чтобы изменить этот параметр, используйте Send перегрузку, options принимающую параметр, и задайте Ttl для свойства требуемое значение. Если пакет не достигает своего назначения после переадресации указанного количества раз, пакет удаляется, а запрос на эхо ICMP завершается сбоем. Когда это происходит, Status для параметра задано TtlExpiredзначение .

Применяется к