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значение .