PingOptions Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Veri paketlerinin nasıl Ping iletilmesini denetlemek için kullanılır.
public ref class PingOptions
public class PingOptions
type PingOptions = class
Public Class PingOptions
- Devralma
-
PingOptions
Örnekler
Aşağıdaki kod örneği, komut satırında belirtilen konağa bir ICMP yankı isteği göndermek için ve PingOptionsPingReply sınıflarını kullanırPing.
#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ı, PingOptions İnternet Denetim İletisi Protokolü (ICMP) yankı isteği paketlerinin nasıl iletilmesini denetlemek için ve DontFragment özelliklerini sağlarTtl.
özelliği, Ttl sınıfı tarafından gönderilen paketler için Yaşam Süresi'ni Ping belirtir. Bu değer, bir Ping paketi atmadan önce iletebilecek yönlendirme düğümlerinin sayısını gösterir. Kaynak bilgisayardan hedef bilgisayara paket göndermek için atlamalar olarak da bilinen iletilenlerin sayısını test etmek istiyorsanız bu seçeneğin ayarlanması yararlıdır.
özelliği, DontFragment uzak bir konağa gönderilen verilerin birden çok pakete bölünip bölünemeyeceğini denetler. Bu seçenek, paketi iletmek için kullanılan yönlendiricilerin ve ağ geçitlerinin maksimum iletim birimini (MTU) test etmek istiyorsanız kullanışlıdır.
sınıfının örnekleri PingOptions ve yöntemlerine Send geçirilir ve PingReply sınıfı özelliği aracılığıyla Options örneklerini PingOptions döndürür.SendAsync
örneğinin ilk özellik değerlerinin PingOptionslistesi için oluşturucuya PingOptions bakın.
Oluşturucular
PingOptions() |
PingOptions sınıfının yeni bir örneğini başlatır. |
PingOptions(Int32, Boolean) |
sınıfının yeni bir örneğini PingOptions başlatır ve Yaşam Süresi ile parçalanma değerlerini ayarlar. |
Özellikler
DontFragment |
Uzak konağa gönderilen verilerin parçalanmasını denetleen bir Boolean değeri alır veya ayarlar. |
Ttl |
Verileri atmadan önce iletebilecek Ping yönlendirme düğümlerinin sayısını alır veya ayarlar. |
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) |