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


PingReply.Buffer Свойство

Определение

Возвращает буфер данных, полученных в сообщении ответа проверки связи ICMP.

public:
 property cli::array <System::Byte> ^ Buffer { cli::array <System::Byte> ^ get(); };
public byte[] Buffer { get; }
member this.Buffer : byte[]
Public ReadOnly Property Buffer As Byte()

Значение свойства

Byte[]

Массив Byte, в котором содержатся данные, полученные в сообщении ответа проверки связи ICMP, или пустой массив, если ответ не получен.

Примеры

Следующий пример кода синхронно отправляет эхо-запрос ICMP и отображает размер буфера, возвращаемого этим свойством.

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, возвращается отправителю в ответе эха, поэтому можно вычислить время кругового пути для пакета известного размера. Буфер данных в сочетании с параметром DontFragment можно использовать для обнаружения максимальной единицы передачи для сетевого пути между исходным и конечным компьютерами. Дополнительные сведения см. в разделе TraceRoute в RFC 1574, раздел 3.2, доступный по адресу https://www.ietf.org.

Буфер по умолчанию, используемый с Send и SendAsync , содержит 32 байта данных.

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