Aracılığıyla paylaş


PingReply Sınıf

Tanım

Veya SendAsync işleminden kaynaklanan Send durum ve veriler hakkında bilgi sağlar.

public ref class PingReply
public class PingReply
type PingReply = class
Public Class PingReply
Devralma
PingReply

Örnekler

Aşağıdaki kod örneği, zaman uyumlu bir şekilde bir ICMP yankı isteği göndermek ve yanıtı görüntülemek için sınıfını kullanmayı Ping gösterir.

#using <System.dll>

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

// args[1] can be an IPaddress or host name.
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   
   Ping ^ pingSender = gcnew Ping;
   PingOptions ^ options = gcnew PingOptions;
   
   // Use the default Ttl value which is 128,
   // but change the fragmentation behavior.
   options->DontFragment = true;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   int timeout = 120;
   PingReply ^ reply = pingSender->Send( args[ 1 ], timeout, buffer, options );
   
   if ( reply->Status == IPStatus::Success )
   {
      Console::WriteLine( "Address: {0}", reply->Address->ToString() );
      Console::WriteLine( "RoundTrip time: {0}", reply->RoundtripTime );
      Console::WriteLine( "Time to live: {0}", reply->Options->Ttl );
      Console::WriteLine( "Don't fragment: {0}", reply->Options->DontFragment );
      Console::WriteLine( "Buffer size: {0}", reply->Buffer->Length );
   }

   
}
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        // args[0] can be an IPaddress or host name.
        public static void Main (string[] args)
        {
            Ping pingSender = new Ping ();
            PingOptions options = new PingOptions ();

            // Use the default Ttl value which is 128,
            // but change the fragmentation behavior.
            options.DontFragment = true;

            // Create a buffer of 32 bytes of data to be transmitted.
            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes (data);
            int timeout = 120;
            PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
            if (reply.Status == IPStatus.Success)
            {
                Console.WriteLine ("Address: {0}", reply.Address.ToString ());
                Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
                Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
                Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
                Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
            }
        }
    }
}
open System.Net.NetworkInformation
open System.Text

// args[0] can be an IPaddress or host name.
[<EntryPoint>]
let main args =
    let pingSender = new Ping()

    // Use the default Ttl value which is 128,
    // but change the fragmentation behavior.
    let options = PingOptions()
    options.DontFragment <- true

    // Create a buffer of 32 bytes of data to be transmitted.
    let data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    let buffer = Encoding.ASCII.GetBytes data
    let timeout = 120
    let reply: PingReply = pingSender.Send(args.[0], timeout, buffer, options)

    match reply.Status with
    | IPStatus.Success ->
        printfn "Address: %O" reply.Address
        printfn "RoundTrip time: %d" reply.RoundtripTime
        printfn "Time to live: %d" reply.Options.Ttl
        printfn "Don't fragment: %b" reply.Options.DontFragment
        printfn "Buffer size: %d" reply.Buffer.Length
        0
    | _ ->
        eprintfn "Error sending ping: %O" reply
        eprintfn "Error was: %O" reply.Status
        1

Açıklamalar

sınıfı, Ping uzak bir bilgisayara İnternet Denetim İletisi Protokolü (ICMP) yankı isteği göndermeye ve bir ICMP yankı yanıt iletisi aracılığıyla bilgisayardan bilgi almaya çalışır. sınıfı, Ping durumu ve isteği göndermek ve yanıtı almak için geçen süre gibi işlem hakkındaki bilgileri döndürmek için sınıfın örneklerini PingReply kullanır.

Send Yöntemler doğrudan sınıfın PingReply örneklerini döndürür. Yöntemler yöntemin SendAsyncPingCompletedEventArgs parametresinde PingCompletedEventHandler bir PingReply döndürür. PingReply özelliği üzerinden Reply erişilir.

değeri Status değilseSuccess, Options veya Buffer özellikleri tarafından RoundtripTimedöndürülen değerleri kullanmamalısınız. RoundtripTime özelliği sıfır döndürür, Buffer özelliği boş bir dizi döndürür ve Options özelliği döndürürnull.

Özellikler

Address

İnternet Denetim İletisi Protokolü (ICMP) yankı yanıtı gönderen konağın adresini alır.

Buffer

İnternet Denetim İletisi Protokolü (ICMP) yankı yanıt iletisinde alınan verilerin arabelleği alır.

Options

Yanıtı bir İnternet Denetim İletisi Protokolü (ICMP) yankı isteğine iletmek için kullanılan seçenekleri alır.

RoundtripTime

İnternet Denetim İletisi Protokolü (ICMP) yankı isteği göndermek ve karşılık gelen ICMP yankı yanıt iletisini almak için alınan milisaniye sayısını alır.

Status

İnternet Denetim İletisi Protokolü (ICMP) yankı isteği gönderme girişiminin durumunu alır ve ilgili ICMP yankı yanıt iletisini alır.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır