Share via


PingReply Kelas

Definisi

Menyediakan informasi tentang status dan data yang Send dihasilkan dari operasi atau SendAsync .

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

Contoh

Contoh kode berikut menunjukkan penggunaan Ping kelas untuk mengirim permintaan gema ICMP secara sinkron dan menampilkan respons.

#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

Keterangan

Kelas Ping mencoba mengirim permintaan gema Internet Control Message Protocol (ICMP) ke komputer jarak jauh dan menerima informasi kembali dari komputer melalui pesan balasan gema ICMP. Kelas Ping menggunakan instans PingReply kelas untuk mengembalikan informasi tentang operasi, seperti statusnya dan waktu yang diperlukan untuk mengirim permintaan dan menerima balasan.

Metode mengembalikan Send instans kelas secara PingReply langsung. Metode SendAsync mengembalikan PingReply dalam PingCompletedEventHandler parameter metode PingCompletedEventArgs . PingReply diakses melalui Reply properti .

Jika nilai Status bukan Success, Anda tidak boleh menggunakan nilai yang dikembalikan oleh RoundtripTimeproperti , Options atau Buffer . Properti RoundtripTime akan mengembalikan nol, Buffer properti akan mengembalikan array kosong, dan Options properti akan mengembalikan null.

Properti

Address

Mendapatkan alamat host yang mengirim balasan gema Internet Control Message Protocol (ICMP).

Buffer

Mendapatkan buffer data yang diterima dalam pesan balasan gema Internet Control Message Protocol (ICMP).

Options

Mendapatkan opsi yang digunakan untuk mengirimkan balasan ke permintaan gema Internet Control Message Protocol (ICMP).

RoundtripTime

Mendapatkan jumlah milidetik yang diambil untuk mengirim permintaan gema Internet Control Message Protocol (ICMP) dan menerima pesan balasan gema ICMP yang sesuai.

Status

Mendapatkan status upaya untuk mengirim permintaan gema Internet Control Message Protocol (ICMP) dan menerima pesan balasan gema ICMP yang sesuai.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk