Share via


Ping.Send Yöntem

Tanım

Uzak bir bilgisayara İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye ve uzak bilgisayardan karşılık gelen bir ICMP yankı yanıt iletisi almaya çalışır.

Aşırı Yüklemeler

Send(String, TimeSpan, Byte[], PingOptions)

Belirtilen bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi almaya çalışır.

Send(String, Int32, Byte[], PingOptions)

Belirtilen bilgisayara belirtilen veri arabelleğine sahip bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi alır. Bu aşırı yükleme, işlem için bir zaman aşımı değeri belirtmenize ve ICMP paketi için parçalanma ve Yaşam Süresi değerlerini denetlemenize olanak tanır.

Send(IPAddress, TimeSpan, Byte[], PingOptions)

Belirtilen IPAddressdeğerine sahip bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye ve ilgili ICMP yankı yanıt iletisini bu bilgisayardan almaya çalışır.

Send(IPAddress, Int32, Byte[], PingOptions)

Belirtilen veri arabelleğine sahip IPAddress bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi almaya çalışır. Bu aşırı yükleme, işlem için bir zaman aşımı değeri belirtmenize ve ICMP yankı ileti paketi için parçalanma ve Yaşam Süresi değerlerini denetlemenize olanak tanır.

Send(String, Int32, Byte[])

Belirtilen bilgisayara belirtilen veri arabelleğine sahip bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi alır. Bu aşırı yükleme işlemi için bir zaman aşımı değeri belirtmenize olanak tanır.

Send(IPAddress, Int32, Byte[])

Belirtilen veri arabelleğine sahip IPAddressbir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi alır. Bu aşırı yükleme işlemi için bir zaman aşımı değeri belirtmenize olanak tanır.

Send(String, Int32)

Belirtilen bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi alır. Bu yöntem, işlem için bir zaman aşımı değeri belirtmenize olanak tanır.

Send(IPAddress, Int32)

Belirtilen veri arabelleğine sahip IPAddressbir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi alır. Bu yöntem, işlem için bir zaman aşımı değeri belirtmenize olanak tanır.

Send(String)

Belirtilen bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi alır.

Send(IPAddress)

Belirtilen IPAddressdeğerine sahip bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıt iletisi alır.

Açıklamalar

Aşırı yüklemelerden herhangi biri Send tarafından döndürülen IP adresi kötü amaçlı bir uzak bilgisayardan kaynaklanabilir. Bunu kullanarak uzak bilgisayara bağlanmayın. Bağlanmak istediğiniz makinenin IP adresini belirlemek için DNS kullanın.

Send(String, TimeSpan, Byte[], PingOptions)

Kaynak:
Ping.cs
Kaynak:
Ping.cs
Kaynak:
Ping.cs

Belirtilen bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi almaya çalışır.

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

Parametreler

hostNameOrAddress
String

String ICMP yankı iletisinin hedefi olan bilgisayarı tanımlayan. Bu parametre için belirtilen değer bir ana bilgisayar adı veya IP adresinin dize gösterimi olabilir.

timeout
TimeSpan

ICMP yankı yanıt iletisinin beklendiği maksimum süreyi (yankı iletisi gönderdikten sonra) belirten bir değer.

buffer
Byte[]

Byte ICMP yankı iletisiyle gönderilecek verileri içeren ve ICMP yankı yanıt iletisinde döndürülen bir dizi. Dizi 65.500 bayttan fazla içeremez.

options
PingOptions

PingOptions ICMP yankı ileti paketi için parçalanma ve Yaşam Süresi değerlerini denetlemek için kullanılan nesne.

Döndürülenler

ICMP yankı yanıt iletisi, ileti alındıysa veya ileti alınmadıysa hatanın nedeni hakkında bilgi.

Özel durumlar

buffernullhostNameOrAddress veya hostNameOrAddress boş bir dizedir ("").

timeout sıfır milisaniyeden küçük veya milisaniyeden MaxValue büyük bir süreyi temsil eder.

' buffernin boyutu 65.500 bayttan büyük.

SendAsync çağrısı devam ediyor.

ICMP iletileri gönderilirken veya alınırken bir özel durum oluştu. Oluşan tam özel durum için iç özel duruma bakın.

Bu nesne atıldı.

Şunlara uygulanır

Send(String, Int32, Byte[], PingOptions)

Kaynak:
Ping.cs
Kaynak:
Ping.cs
Kaynak:
Ping.cs

Belirtilen bilgisayara belirtilen veri arabelleğine sahip bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi alır. Bu aşırı yükleme, işlem için bir zaman aşımı değeri belirtmenize ve ICMP paketi için parçalanma ve Yaşam Süresi değerlerini denetlemenize olanak tanır.

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

Parametreler

hostNameOrAddress
String

String ICMP yankı iletisinin hedefi olan bilgisayarı tanımlayan. Bu parametre için belirtilen değer bir ana bilgisayar adı veya IP adresinin dize gösterimi olabilir.

timeout
Int32

Int32 ICMP yankı yanıt iletisini beklemek için milisaniye (yankı iletisini gönderdikten sonra) maksimum sayısını belirten bir değer.

buffer
Byte[]

Byte ICMP yankı iletisiyle gönderilecek verileri içeren ve ICMP yankı yanıt iletisinde döndürülen bir dizi. Dizi 65.500 bayttan fazla içeremez.

options
PingOptions

PingOptions ICMP yankı ileti paketi için parçalanma ve Yaşam Süresi değerlerini denetlemek için kullanılan nesne.

Döndürülenler

PingReply Alınan ICMP yankı yanıt iletisi hakkında bilgi sağlayan veya ileti alınmadıysa hatanın nedenini sağlayan nesne.

Özel durumlar

Boyutu buffer 65500 baytı aşıyor.

hostNameOrAddress veya null sıfır uzunlukta bir dizedir.

-veya-

buffer, null değeridir.

timeout, sıfırdan küçüktür.

çağrısı SendAsync devam ediyor.

ICMP iletileri gönderilirken veya alınırken bir özel durum oluştu. Oluşan tam özel durum için iç özel duruma bakın.

Bu nesne atıldı.

Yalnızca Linux üzerinde .NET 7 ve sonraki sürümleri: İşlem ayrıcalıklı değildir ve buffer boş değildir.

Örnekler

Aşağıdaki kod örneği, bu yöntemin nasıl çağrılduğunu gösterir.

void ComplexPing()
{
   Ping ^ pingSender = gcnew Ping;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<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 = gcnew 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 );
   }
}
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);
    }
}

Açıklamalar

ICMP yankı yanıt iletisi parametresi tarafından timeout belirtilen süre içinde alınmazsa, ICMP yankısı başarısız olur ve Status özelliği olarak TimedOutayarlanır.

Not

için timeoutçok küçük sayılar belirtilirken, milisaniyeler dolmuş olsa timeout bile Ping yanıtı alınabiliyor.

DontFragment özelliği ise true ve toplam paket boyutu yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aşarsa, ICMP yankı isteği başarısız olur. Bu durumda, Status olarak ayarlanır PacketTooBig.

Ttl ICMP yankı iletisinin hedefine ulaşmadan önce en fazla kaç kez iletilebileceğini belirtmek için özelliğini kullanın. Paket belirtilen sayıda iletildikten sonra hedefine ulaşmazsa, paket atılır ve ICMP yankı isteği başarısız olur. Bu durumda, Status olarak ayarlanır TtlExpired.

Şunlara uygulanır

Send(IPAddress, TimeSpan, Byte[], PingOptions)

Kaynak:
Ping.cs
Kaynak:
Ping.cs
Kaynak:
Ping.cs

Belirtilen IPAddressdeğerine sahip bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye ve ilgili ICMP yankı yanıt iletisini bu bilgisayardan almaya çalışır.

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

Parametreler

address
IPAddress

IPAddress ICMP yankı iletisinin hedefi olan bilgisayarı tanımlayan.

timeout
TimeSpan

ICMP yankı yanıt iletisinin beklendiği maksimum süreyi (yankı iletisi gönderdikten sonra) belirten bir değer.

buffer
Byte[]

Byte ICMP yankı iletisiyle gönderilecek verileri içeren ve ICMP yankı yanıt iletisinde döndürülen bir dizi. Dizi 65.500 bayttan fazla içeremez.

options
PingOptions

PingOptions ICMP yankı ileti paketi için parçalanma ve Yaşam Süresi değerlerini denetlemek için kullanılan nesne.

Döndürülenler

ICMP yankı yanıt iletisi, ileti alındıysa veya ileti alınmadıysa hatanın nedeni hakkında bilgi.

Özel durumlar

address veya buffer şeklindedir null.

timeout sıfır milisaniyeden küçük veya milisaniyeden MaxValue büyük bir süreyi temsil eder.

' buffernin boyutu 65.500 bayttan büyük.

SendAsync çağrısı devam ediyor.

ICMP iletileri gönderilirken veya alınırken bir özel durum oluştu. Oluşan tam özel durum için iç özel duruma bakın.

Bu nesne atıldı.

Şunlara uygulanır

Send(IPAddress, Int32, Byte[], PingOptions)

Kaynak:
Ping.cs
Kaynak:
Ping.cs
Kaynak:
Ping.cs

Belirtilen veri arabelleğine sahip IPAddress bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi almaya çalışır. Bu aşırı yükleme, işlem için bir zaman aşımı değeri belirtmenize ve ICMP yankı ileti paketi için parçalanma ve Yaşam Süresi değerlerini denetlemenize olanak tanır.

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

Parametreler

address
IPAddress

IPAddress ICMP yankı iletisinin hedefi olan bilgisayarı tanımlayan.

timeout
Int32

Int32 ICMP yankı yanıt iletisini beklemek için milisaniye (yankı iletisini gönderdikten sonra) maksimum sayısını belirten bir değer.

buffer
Byte[]

Byte ICMP yankı iletisiyle gönderilecek verileri içeren ve ICMP yankı yanıt iletisinde döndürülen bir dizi. Dizi 65.500 bayttan fazla içeremez.

options
PingOptions

PingOptions ICMP yankı ileti paketi için parçalanma ve Yaşam Süresi değerlerini denetlemek için kullanılan nesne.

Döndürülenler

PingReply ICMP yankı yanıt iletisi hakkında bilgi sağlayan bir nesne ( alındıysa) veya ileti alınmadıysa hatanın nedenini sağlar. Paket Maksimum İletim Birimi'ni (MTU) aşarsa yöntemi döndürülecektir PacketTooBig .

Özel durumlar

Boyutu buffer 65500 baytı aşıyor.

address veya buffer şeklindedir null.

timeout, sıfırdan küçüktür.

çağrısı SendAsync devam ediyor.

ICMP iletileri gönderilirken veya alınırken bir özel durum oluştu. Oluşan tam özel durum için iç özel duruma bakın.

Bu nesne atıldı.

Yalnızca Linux üzerinde .NET 7 ve sonraki sürümleri: İşlem ayrıcalıklı değildir ve buffer boş değildir.

Örnekler

Aşağıdaki kod örneği, bu yöntemin nasıl çağrılduğunu gösterir.

void ComplexLocalPing()
{
   
   // Ping's the local machine.
   Ping ^ pingSender = gcnew Ping;
   IPAddress^ address = IPAddress::Loopback;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<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 = gcnew 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 );
   }
}
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);
    }
}

Açıklamalar

ICMP yankı yanıt iletisi parametresi tarafından timeout belirtilen süre içinde alınmazsa, ICMP yankısı başarısız olur ve Status özelliği olarak TimedOutayarlanır.

Not

için timeoutçok küçük sayılar belirtilirken, milisaniyeler dolmuş olsa timeout bile Ping yanıtı alınabiliyor.

DontFragment özelliği ise true ve toplam paket boyutu yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aşarsa, ICMP yankı isteği başarısız olur. Bu durumda, Status olarak ayarlanır PacketTooBig.

Ttl ICMP yankı iletisinin hedefine ulaşmadan önce en fazla kaç kez iletilebileceğini belirtmek için özelliğini kullanın. Paket belirtilen sayıda iletildikten sonra hedefine ulaşmazsa, paket atılır ve ICMP yankı isteği başarısız olur. Bu durumda, Status olarak ayarlanır TtlExpired.

Şunlara uygulanır

Send(String, Int32, Byte[])

Kaynak:
Ping.cs
Kaynak:
Ping.cs
Kaynak:
Ping.cs

Belirtilen bilgisayara belirtilen veri arabelleğine sahip bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi alır. Bu aşırı yükleme işlemi için bir zaman aşımı değeri belirtmenize olanak tanır.

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

Parametreler

hostNameOrAddress
String

String ICMP yankı iletisinin hedefi olan bilgisayarı tanımlayan. Bu parametre için belirtilen değer bir ana bilgisayar adı veya IP adresinin dize gösterimi olabilir.

timeout
Int32

Int32 ICMP yankı yanıt iletisini beklemek için milisaniye (yankı iletisini gönderdikten sonra) maksimum sayısını belirten bir değer.

buffer
Byte[]

Byte ICMP yankı iletisiyle gönderilecek verileri içeren ve ICMP yankı yanıt iletisinde döndürülen bir dizi. Dizi 65.500 bayttan fazla içeremez.

Döndürülenler

PingReply Alınan ICMP yankı yanıt iletisi hakkında bilgi sağlayan veya ileti alınmadıysa hatanın nedenini sağlayan nesne.

Özel durumlar

Boyutu buffer 65500 baytı aşıyor.

hostNameOrAddress veya null boş bir dizedir ("").

-veya-

buffer, null değeridir.

timeout, sıfırdan küçüktür.

çağrısı SendAsync devam ediyor.

ICMP iletileri gönderilirken veya alınırken bir özel durum oluştu. Oluşan tam özel durum için iç özel duruma bakın.

Bu nesne atıldı.

Yalnızca Linux üzerinde .NET 7 ve sonraki sürümleri: İşlem ayrıcalıklı değildir ve buffer boş değildir.

Örnekler

Aşırı yüklemeyi çağırmayı gösteren bir Send örnek için bkz. sınıfa Ping genel bakış.

Açıklamalar

ICMP yankı yanıt iletisi parametresinde timeout belirtilen süre içinde alınmazsa, ICMP yankısı başarısız olur ve Status özelliği olarak TimedOutayarlanır.

Not

için timeoutçok küçük sayılar belirtilirken, milisaniyeler dolmuş olsa timeout bile Ping yanıtı alınabiliyor.

Bu aşırı yükleme, paket parçalanması ve paket iletme için varsayılan ayarları kullanır. Toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aşarsa, ICMP yankı iletisini içeren paket aktarımda parçalanabilir. Parçalanmayı önlemek için parametre alan options yöntemlerden birini Send kullanın ve özelliğini olarak trueayarlayınDontFragment. olduğunda DontFragmenttrue ve toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aştığında, ICMP yankı isteği başarısız olur. Bu durumda, Status olarak ayarlanır PacketTooBig.

Paket veya paket parçaları, atılmadan önce yönlendirme düğümleri tarafından 128 kez iletilebilir. Bu ayarı değiştirmek için parametre alan bir Sendoptions aşırı yükleme kullanın ve özelliğini istenen değere ayarlayın Ttl . Paket belirtilen sayıda iletildikten sonra hedefine ulaşmazsa, paket atılır ve ICMP yankı isteği başarısız olur. Bu durumda, Status olarak ayarlanır TtlExpired.

Şunlara uygulanır

Send(IPAddress, Int32, Byte[])

Kaynak:
Ping.cs
Kaynak:
Ping.cs
Kaynak:
Ping.cs

Belirtilen veri arabelleğine sahip IPAddressbir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıtı iletisi alır. Bu aşırı yükleme işlemi için bir zaman aşımı değeri belirtmenize olanak tanır.

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

Parametreler

address
IPAddress

IPAddress ICMP yankı iletisinin hedefi olan bilgisayarı tanımlayan.

timeout
Int32

Int32 ICMP yankı yanıt iletisini beklemek için milisaniye (yankı iletisini gönderdikten sonra) maksimum sayısını belirten bir değer.

buffer
Byte[]

Byte ICMP yankı iletisiyle gönderilecek verileri içeren ve ICMP yankı yanıt iletisinde döndürülen bir dizi. Dizi 65.500 bayttan fazla içeremez.

Döndürülenler

PingReply ICMP yankı yanıt iletisi hakkında bilgi sağlayan bir nesne ( alındıysa) veya ileti alınmadıysa hatanın nedenini sağlar. Paket Maksimum İletim Birimi'ni (MTU) aşarsa yöntemi döndürülecektir PacketTooBig .

Özel durumlar

Boyutu buffer 65500 baytı aşıyor.

address veya buffer şeklindedir null.

timeout, sıfırdan küçüktür.

çağrısı SendAsync devam ediyor.

ICMP iletileri gönderilirken veya alınırken bir özel durum oluştu. Oluşan tam özel durum için iç özel duruma bakın.

Bu nesne atıldı.

Yalnızca Linux üzerinde .NET 7 ve sonraki sürümleri: İşlem ayrıcalıklı değildir ve buffer boş değildir.

Örnekler

Aşağıdaki kod örneği, bu yöntemin nasıl çağrılduğunu gösterir.

void LocalPingTimeout()
{
   
   // Ping's the local machine.
   Ping ^ pingSender = gcnew Ping;
   IPAddress^ address = IPAddress::Loopback;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<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 );
   }
}
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);
    }
}

Açıklamalar

ICMP yankı yanıt iletisi parametresinde timeout belirtilen süre içinde alınmazsa, ICMP yankısı başarısız olur ve Status özelliği olarak TimedOutayarlanır.

Not

için timeoutçok küçük sayılar belirtilirken, milisaniyeler dolmuş olsa timeout bile Ping yanıtı alınabiliyor.

Bu aşırı yükleme, paket parçalanması ve paket iletme için varsayılan ayarları kullanır. Toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aşarsa, ICMP yankı iletisini içeren paket aktarımda parçalanabilir. Parçalanmayı önlemek için parametre alan options yöntemlerden birini Send kullanın ve özelliğini olarak trueayarlayınDontFragment. olduğunda DontFragmenttrue ve toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aştığında, ICMP yankı isteği başarısız olur. Bu durumda, Status olarak ayarlanır PacketTooBig.

Paket veya paket parçaları, atılmadan önce yönlendirme düğümleri tarafından 128 kez iletilebilir. Bu ayarı değiştirmek için parametre alan bir Sendoptions aşırı yükleme kullanın ve özelliğini istenen değere ayarlayın Ttl . Paket belirtilen sayıda iletildikten sonra hedefine ulaşmazsa, paket atılır ve ICMP yankı isteği başarısız olur. Bu durumda, Status olarak ayarlanır TtlExpired.

Şunlara uygulanır

Send(String, Int32)

Kaynak:
Ping.cs
Kaynak:
Ping.cs
Kaynak:
Ping.cs

Belirtilen bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıt iletisi alır. Bu yöntem, işlem için bir zaman aşımı değeri belirtmenize olanak tanır.

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

Parametreler

hostNameOrAddress
String

String ICMP yankı iletisinin hedefi olan bilgisayarı tanımlayan. Bu parametre için belirtilen değer bir ana bilgisayar adı veya IP adresinin dize gösterimi olabilir.

timeout
Int32

Int32 ICMP yankı yanıt iletisini beklemek için milisaniye (yankı iletisini gönderdikten sonra) maksimum sayısını belirten bir değer.

Döndürülenler

PingReply Alınan ICMP yankı yanıt iletisi hakkında bilgi sağlayan veya ileti alınmadıysa hatanın nedenini sağlayan nesne.

Özel durumlar

hostNameOrAddress veya null boş bir dizedir ("").

timeout, sıfırdan küçüktür.

çağrısı SendAsync devam ediyor.

ICMP iletileri gönderilirken veya alınırken bir özel durum oluştu. Oluşan tam özel durum için iç özel duruma bakın.

Bu nesne atıldı.

Örnekler

Bir yöntemi çağırmayı gösteren bir Send örnek için sınıfa genel bakış bölümüne Ping bakın.

Açıklamalar

ICMP yankı yanıt iletisi parametresinde timeout belirtilen süre içinde alınmazsa, ICMP yankısı başarısız olur ve Status özelliği olarak TimedOutayarlanır.

Not

için timeoutçok küçük sayılar belirtilirken, milisaniyeler dolmuş olsa timeout bile Ping yanıtı alınabiliyor.

Bu aşırı yükleme, paket parçalanması ve paket iletme için varsayılan ayarları kullanır. Toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aşarsa, ICMP yankı iletisini içeren paket aktarımda parçalanabilir. Parçalanmayı önlemek için parametre alan options yöntemlerden birini Send kullanın ve özelliğini olarak trueayarlayınDontFragment. olduğunda DontFragmenttrue ve toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aştığında, ICMP yankı isteği başarısız olur. Bu durumda, Status olarak ayarlanır PacketTooBig. Paket veya paket parçaları (parçalanmışsa) atılmadan önce yönlendirme düğümleri tarafından 128 kez iletilebilir. Bu ayarı değiştirmek için parametre alan bir Sendoptions aşırı yükleme kullanın ve özelliğini istenen değere ayarlayın Ttl . Paket belirtilen sayıda iletildikten sonra hedefine ulaşmazsa, paket atılır ve ICMP yankı isteği başarısız olur. Bu durumda , Status olarak TtlExpiredayarlanır.

Şunlara uygulanır

Send(IPAddress, Int32)

Kaynak:
Ping.cs
Kaynak:
Ping.cs
Kaynak:
Ping.cs

belirtilen veri arabelleğine sahip IPAddressbir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve ilgili bilgisayardan ilgili ICMP yankı yanıtı iletisini alır. Bu yöntem, işlem için bir zaman aşımı değeri belirtmenize olanak tanır.

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

Parametreler

address
IPAddress

IPAddress ICMP yankı iletisinin hedefi olan bilgisayarı tanımlayan.

timeout
Int32

Int32 ICMP yankı yanıt iletisini beklemek için milisaniye (yankı iletisini gönderdikten sonra) sayısını belirten bir değer.

Döndürülenler

PingReply Alınan ICMP yankı yanıt iletisi hakkında bilgi sağlayan veya ileti alınmadıysa hatanın nedenini sağlayan nesne.

Özel durumlar

address, null değeridir.

timeout, sıfırdan küçüktür.

çağrısı SendAsync devam ediyor.

ICMP iletileri gönderilirken veya alınırken bir özel durum oluştu. Oluşan tam özel durum için iç özel duruma bakın.

Bu nesne atılmış.

Örnekler

Bir yöntemi çağırmayı gösteren bir Send örnek için sınıfa genel bakış bölümüne Ping bakın.

Açıklamalar

ICMP yankı yanıt iletisi parametresinde timeout belirtilen süre içinde alınmazsa, ICMP yankısı başarısız olur ve Status özelliği olarak TimedOutayarlanır.

Not

için timeoutçok küçük sayılar belirtilirken, milisaniyeler dolmuş olsa timeout bile Ping yanıtı alınabiliyor.

Bu aşırı yükleme, paket parçalanması ve paket iletme için varsayılan ayarları kullanır. Toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilecek en büyük paket boyutunu aşarsa, ICMP yankı iletisini içeren paket aktarım sırasında parçalanabilir. Parçalanmayı önlemek için parametre alan options yöntemlerden birini Send kullanın ve özelliğini olarak trueayarlayınDontFragment. olduğunda DontFragmenttrue ve toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aşarsa, ICMP yankı isteği başarısız olur. Bu durumda , Status olarak PacketTooBigayarlanır.

Paket veya paket parçaları, atılmadan önce yönlendirme düğümleri tarafından 128 kez iletilebilir. Bu ayarı değiştirmek için parametre alan bir Sendoptions aşırı yükleme kullanın ve özelliği istenen değere ayarlayın Ttl . Paket belirtilen sayıda iletildikten sonra hedefine ulaşmazsa, paket atılır ve ICMP yankı isteği başarısız olur. Bu durumda , Status olarak TtlExpiredayarlanır.

Şunlara uygulanır

Send(String)

Kaynak:
Ping.cs
Kaynak:
Ping.cs
Kaynak:
Ping.cs

Belirtilen bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıt iletisi alır.

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

Parametreler

hostNameOrAddress
String

String ICMP yankı iletisinin hedefi olan bilgisayarı tanımlayan. Bu parametre için belirtilen değer bir ana bilgisayar adı veya ip adresinin dize gösterimi olabilir.

Döndürülenler

PingReply ICMP yankı yanıt iletisiyle ilgili bilgi sağlayan , alınan bir ileti varsa veya ileti alınmadıysa hatanın nedenini sağlayan nesne.

Özel durumlar

hostNameOrAddress veya null boş bir dizedir ("").

çağrısı SendAsync devam ediyor.

ICMP iletileri gönderilirken veya alınırken bir özel durum oluştu. Oluşan tam özel durum için iç özel duruma bakın.

Bu nesne atılmış.

Örnekler

Aşağıdaki kod örneğinde bu yöntemin çağrılması gösterilmektedir.

void SimplePing()
{
   Ping ^ pingSender = gcnew 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 );
   }
}
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);
    }
}

Açıklamalar

Bu yöntem, ICMP yankı iletisiyle birlikte 32 Byte veri arabelleği gönderir. yöntemi, ICMP yankı yanıt iletisi için beş saniye bekler. Bu süre içinde yanıt almazsa, yöntemi döndürür ve Status özelliği olarak TimedOutayarlanır.

Bu aşırı yükleme, paket parçalanması ve paket iletme için varsayılan ayarları kullanır. Toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilecek en büyük paket boyutunu aşarsa, ICMP yankı iletisini içeren paket aktarım sırasında parçalanabilir. Parçalanmayı önlemek için parametre alan options yöntemlerden birini Send kullanın ve özelliğini olarak trueayarlayınDontFragment. olduğunda DontFragmenttrue ve toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aşarsa, ICMP yankı isteği başarısız olur. Bu durumda , Status olarak PacketTooBigayarlanır. Paket veya paket parçaları (parçalanmışsa) atılmadan önce yönlendirme düğümleri tarafından 128 kez iletilebilir. Bu ayarı değiştirmek için parametre alan bir Sendoptions aşırı yükleme kullanın ve özelliği istenen değere ayarlayın Ttl . Paket belirtilen sayıda iletildikten sonra hedefine ulaşmazsa, paket atılır ve ICMP yankı isteği başarısız olur. Bu durumda , Status olarak TtlExpiredayarlanır.

Şunlara uygulanır

Send(IPAddress)

Kaynak:
Ping.cs
Kaynak:
Ping.cs
Kaynak:
Ping.cs

Belirtilen IPAddressdeğerine sahip bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi göndermeye çalışır ve bu bilgisayardan karşılık gelen bir ICMP yankı yanıt iletisi alır.

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

Parametreler

address
IPAddress

IPAddress ICMP yankı iletisinin hedefi olan bilgisayarı tanımlayan.

Döndürülenler

PingReply ICMP yankı yanıt iletisiyle ilgili bilgi sağlayan, alındıysa veya ileti alınmadıysa hatanın nedenini açıklayan nesne.

Özel durumlar

address, null değeridir.

çağrısı SendAsync devam ediyor.

ICMP iletileri gönderilirken veya alınırken bir özel durum oluştu. Oluşan tam özel durum için iç özel duruma bakın.

Bu nesne atılmış.

Örnekler

Aşağıdaki kod örneğinde bu yöntemin çağrılması gösterilmektedir.

void LocalPing()
{
   
   // Ping's the local machine.
   Ping ^ pingSender = gcnew 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 );
   }
}
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);
    }
}

Açıklamalar

Bu yöntem, ICMP yankı iletisiyle birlikte 32 Byte veri arabelleği tarafından address belirtilen konağa gönderir. yöntemi, ICMP yankı yanıt iletisi için beş saniye bekler. Bu süre içinde yanıt almazsa, yöntemi döndürür ve Status özelliği olarak TimedOutayarlanır.

Bu aşırı yükleme, paket parçalanması ve paket iletme için varsayılan ayarları kullanır. Toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilecek en büyük paket boyutunu aşarsa, ICMP yankı iletisini içeren paket aktarım sırasında parçalanabilir. Parçalanmayı önlemek için parametre alan options yöntemlerden birini Send kullanın ve özelliğini olarak trueayarlayınDontFragment. olduğunda DontFragmenttrue ve toplam paket boyutu, yerel ve uzak bilgisayarlar arasındaki yönlendirme düğümlerinden biri tarafından iletilebilen en büyük paket boyutunu aşarsa, ICMP yankı isteği başarısız olur. Bu durumda , Status olarak PacketTooBigayarlanır. Paket veya paket parçaları (parçalanmışsa) atılmadan önce yönlendirme düğümleri tarafından 128 kez iletilebilir. Bu ayarı değiştirmek için parametre alan bir Sendoptions aşırı yükleme kullanın ve özelliği istenen değere ayarlayın Ttl . Paket belirtilen sayıda iletildikten sonra hedefine ulaşmazsa, paket atılır ve ICMP yankı isteği başarısız olur. Bu durumda , Status olarak TtlExpiredayarlanır.

Şunlara uygulanır