Ping.SendAsync Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut.
Overload
SendAsync(String, Int32, Byte[], PingOptions, Object) |
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi dan mengontrol fragmentasi dan nilai Time-to-Live untuk paket ICMP. |
SendAsync(IPAddress, Int32, Byte[], PingOptions, Object) |
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi dan mengontrol fragmentasi dan nilai Time-to-Live untuk paket pesan gema ICMP. |
SendAsync(String, Int32, Byte[], Object) |
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi. |
SendAsync(IPAddress, Int32, Byte[], Object) |
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi. |
SendAsync(IPAddress, Int32, Object) |
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang memiliki IPAddress, dan menerima pesan balasan echo ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi. |
SendAsync(String, Object) |
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. |
SendAsync(IPAddress, Object) |
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang memiliki IPAddress, dan menerima pesan balasan echo ICMP yang sesuai dari komputer tersebut. |
SendAsync(String, Int32, Object) |
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi. |
Keterangan
Metode ini tidak menyebabkan utas utama aplikasi Anda diblokir. Jika Anda ingin memblokir saat menunggu pesan balasan gema ICMP, gunakan Send metode .
Catatan
Alamat IP yang dikembalikan oleh salah SendAsync satu metode dapat berasal dari komputer jarak jauh berbahaya. Jangan sambungkan ke komputer jarak jauh dengan menggunakan ini. Gunakan DNS untuk menentukan alamat IP komputer yang ingin Anda sambungkan.
SendAsync(String, Int32, Byte[], PingOptions, Object)
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi dan mengontrol fragmentasi dan nilai Time-to-Live untuk paket ICMP.
public:
void SendAsync(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options, System::Object ^ userToken);
public void SendAsync (string hostNameOrAddress, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions? options, object? userToken);
public void SendAsync (string hostNameOrAddress, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options, object userToken);
member this.SendAsync : string * int * byte[] * System.Net.NetworkInformation.PingOptions * obj -> unit
Public Sub SendAsync (hostNameOrAddress As String, timeout As Integer, buffer As Byte(), options As PingOptions, userToken As Object)
Parameter
- hostNameOrAddress
- String
String Yang mengidentifikasi komputer yang merupakan tujuan untuk pesan gema ICMP. Nilai yang ditentukan untuk parameter ini dapat menjadi nama host atau representasi string dari alamat IP.
- timeout
- Int32
Int32 Nilai yang menentukan jumlah maksimum milidetik (setelah mengirim pesan gema) untuk menunggu pesan balasan gema ICMP.
- buffer
- Byte[]
Array Byte yang berisi data yang akan dikirim dengan pesan gema ICMP dan dikembalikan dalam pesan balasan gema ICMP. Array tidak boleh berisi lebih dari 65.500 byte.
- options
- PingOptions
Objek yang PingOptions digunakan untuk mengontrol fragmentasi dan nilai Time-to-Live untuk paket pesan gema ICMP.
- userToken
- Object
Objek yang diteruskan ke metode yang dipanggil ketika operasi asinkron selesai.
Pengecualian
hostNameOrAddress
adalah null
atau adalah string kosong ("").
-atau-
buffer
adalah null
.
timeout
kurang dari nol.
Panggilan ke SendAsync sedang berlangsung.
Pengecualian dilemparkan saat mengirim atau menerima pesan ICMP. Lihat pengecualian dalam untuk pengecualian yang tepat yang dilemparkan.
hostNameOrAddress
tidak dapat diselesaikan ke alamat IP yang valid.
Obyek ini telah dibuang.
Ukuran buffer
melebihi 65500 byte.
.NET 7 dan versi yang lebih baru hanya di Linux: Prosesnya tidak diistimewakan, dan buffer
tidak kosong.
Contoh
Contoh kode berikut menunjukkan cara memanggil metode ini.
#using <System.dll>
using namespace System;
using namespace System::Text;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::ComponentModel;
using namespace System::Threading;
void PingCompletedCallback( Object^ sender, PingCompletedEventArgs^ e );
void DisplayReply( PingReply^ reply );
int main()
{
array<String^>^args = Environment::GetCommandLineArgs();
if ( args->Length == 1 )
throw gcnew ArgumentException( "Ping needs a host or IP Address." );
String^ who = args[ 1 ];
AutoResetEvent^ waiter = gcnew AutoResetEvent( false );
Ping ^ pingSender = gcnew Ping;
// When the PingCompleted event is raised,
// the PingCompletedCallback method is called.
pingSender->PingCompleted += gcnew PingCompletedEventHandler( PingCompletedCallback );
// Create a buffer of 32 bytes of data to be transmitted.
String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
// Wait 12 seconds for a reply.
int timeout = 12000;
// 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 );
Console::WriteLine( "Time to live: {0}", options->Ttl );
Console::WriteLine( "Don't fragment: {0}", options->DontFragment );
// Send the ping asynchronously.
// Use the waiter as the user token.
// When the callback completes, it can wake up this thread.
pingSender->SendAsync( who, timeout, buffer, options, waiter );
// Prevent this example application from ending.
// A real application should do something useful
// when possible.
waiter->WaitOne();
Console::WriteLine( "Ping example completed." );
}
void PingCompletedCallback( Object^ /*sender*/, PingCompletedEventArgs^ e )
{
// If the operation was canceled, display a message to the user.
if ( e->Cancelled )
{
Console::WriteLine( "Ping canceled." );
// Let the main thread resume.
// UserToken is the AutoResetEvent object that the main thread
// is waiting for.
(dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
}
// If an error occurred, display the exception to the user.
if ( e->Error != nullptr )
{
Console::WriteLine( "Ping failed:" );
Console::WriteLine( e->Error->ToString() );
// Let the main thread resume.
(dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
}
PingReply ^ reply = e->Reply;
DisplayReply( reply );
// Let the main thread resume.
(dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
}
void DisplayReply( PingReply ^ reply )
{
if ( reply == nullptr )
return;
Console::WriteLine( "ping status: {0}", reply->Status );
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.Text;
using System.Net;
using System.Net.NetworkInformation;
using System.ComponentModel;
using System.Threading;
namespace Examples.System.Net.NetworkInformation.PingTest
{
public class PingExample
{
public static void Main (string[] args)
{
if (args.Length == 0)
throw new ArgumentException ("Ping needs a host or IP Address.");
string who = args[0];
AutoResetEvent waiter = new AutoResetEvent (false);
Ping pingSender = new Ping ();
// When the PingCompleted event is raised,
// the PingCompletedCallback method is called.
pingSender.PingCompleted += new PingCompletedEventHandler (PingCompletedCallback);
// Create a buffer of 32 bytes of data to be transmitted.
string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
byte[] buffer = Encoding.ASCII.GetBytes (data);
// Wait 12 seconds for a reply.
int timeout = 12000;
// 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);
Console.WriteLine ("Time to live: {0}", options.Ttl);
Console.WriteLine ("Don't fragment: {0}", options.DontFragment);
// Send the ping asynchronously.
// Use the waiter as the user token.
// When the callback completes, it can wake up this thread.
pingSender.SendAsync(who, timeout, buffer, options, waiter);
// Prevent this example application from ending.
// A real application should do something useful
// when possible.
waiter.WaitOne ();
Console.WriteLine ("Ping example completed.");
}
private static void PingCompletedCallback (object sender, PingCompletedEventArgs e)
{
// If the operation was canceled, display a message to the user.
if (e.Cancelled)
{
Console.WriteLine ("Ping canceled.");
// Let the main thread resume.
// UserToken is the AutoResetEvent object that the main thread
// is waiting for.
((AutoResetEvent)e.UserState).Set ();
}
// If an error occurred, display the exception to the user.
if (e.Error != null)
{
Console.WriteLine ("Ping failed:");
Console.WriteLine (e.Error.ToString ());
// Let the main thread resume.
((AutoResetEvent)e.UserState).Set();
}
PingReply reply = e.Reply;
DisplayReply (reply);
// Let the main thread resume.
((AutoResetEvent)e.UserState).Set();
}
public static void DisplayReply (PingReply reply)
{
if (reply == null)
return;
Console.WriteLine ("ping status: {0}", reply.Status);
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);
}
}
}
}
Keterangan
Metode SendAsync mengirim pesan Echo secara asinkron dan, ketika operasi selesai (berhasil atau tidak berhasil), mengembalikan status ke aplikasi Anda.
SendAsync Panggil metode ketika aplikasi Anda tidak boleh memblokir. Setiap panggilan dijalankan dalam utas terpisah yang secara otomatis dialokasikan dari kumpulan utas. Ketika operasi asinkron selesai, operasi akan menaikkan PingCompleted peristiwa. Aplikasi menggunakan PingCompletedEventHandler delegasi untuk menentukan metode yang dipanggil saat SendAsync menaikkan peristiwa. Anda harus menambahkan PingCompletedEventHandler delegasi ke acara sebelum memanggil SendAsync. Metode delegasi menerima PingCompletedEventArgs objek yang berisi PingReply objek yang menjelaskan hasil SendAsync panggilan. Objek PingCompletedEventArgs mewarisi UserState properti . Properti ini berisi objek yang userToken
diteruskan ke SendAsync panggilan.
Jika aplikasi Anda harus memblokir saat menunggu balasan, gunakan Send metode ; metode ini sinkron.
Jika pesan balasan gema ICMP tidak diterima dalam waktu yang ditentukan oleh timeout
parameter, gema ICMP gagal, dan Status properti diatur ke TimedOut.
Catatan
Ketika menentukan angka yang sangat kecil untuk timeout
, balasan Ping dapat diterima meskipun timeout
milidetik telah berlalu.
DontFragment Jika properti adalah true
dan ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh, permintaan gema ICMP gagal. Ketika ini terjadi, Status diatur ke PacketTooBig.
Ttl Gunakan properti untuk menentukan berapa kali pesan gema ICMP dapat diteruskan sebelum mencapai tujuannya. Jika paket tidak mencapai tujuannya setelah diteruskan berapa kali yang ditentukan, paket dibuang dan permintaan gema ICMP gagal. Ketika ini terjadi, Status diatur ke TtlExpired.
Berlaku untuk
SendAsync(IPAddress, Int32, Byte[], PingOptions, Object)
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi dan mengontrol fragmentasi dan nilai Time-to-Live untuk paket pesan gema ICMP.
public:
void SendAsync(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options, System::Object ^ userToken);
public void SendAsync (System.Net.IPAddress address, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions? options, object? userToken);
public void SendAsync (System.Net.IPAddress address, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options, object userToken);
member this.SendAsync : System.Net.IPAddress * int * byte[] * System.Net.NetworkInformation.PingOptions * obj -> unit
Public Sub SendAsync (address As IPAddress, timeout As Integer, buffer As Byte(), options As PingOptions, userToken As Object)
Parameter
- address
- IPAddress
Yang IPAddress mengidentifikasi komputer yang merupakan tujuan untuk pesan gema ICMP.
- timeout
- Int32
Int32 Nilai yang menentukan jumlah maksimum milidetik (setelah mengirim pesan gema) untuk menunggu pesan balasan gema ICMP.
- buffer
- Byte[]
Array Byte yang berisi data yang akan dikirim dengan pesan gema ICMP dan dikembalikan dalam pesan balasan gema ICMP. Array tidak boleh berisi lebih dari 65.500 byte.
- options
- PingOptions
Objek yang PingOptions digunakan untuk mengontrol fragmentasi dan nilai Time-to-Live untuk paket pesan gema ICMP.
- userToken
- Object
Objek yang diteruskan ke metode yang dipanggil ketika operasi asinkron selesai.
Pengecualian
address
atau buffer
adalah null
.
timeout
kurang dari nol.
Panggilan ke SendAsync sedang berlangsung.
Pengecualian dilemparkan saat mengirim atau menerima pesan ICMP. Lihat pengecualian dalam untuk pengecualian yang tepat yang dilemparkan.
address
bukan alamat IP yang valid.
Obyek ini telah dibuang.
Ukuran buffer
melebihi 65500 byte.
.NET 7 dan versi yang lebih baru hanya di Linux: Prosesnya tidak diistimewakan, dan buffer
tidak kosong.
Contoh
Contoh kode berikut menunjukkan cara memanggil metode ini. Untuk implementasi metode panggilan balik, lihat SendAsync bagian contoh kelebihan beban metode.
Contoh kode berikut memerlukan namespace berikut:
#using <System.dll>
using namespace System;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::Text;
using namespace System::Threading;
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading;
Contoh kode berikut mengirimkan pesan gema ICMP secara asinkron.
void AsyncComplexLocalPing()
{
// Get an object that will block the main thread.
AutoResetEvent^ waiter = gcnew AutoResetEvent( false );
// Ping's the local machine.
Ping ^ pingSender = gcnew Ping;
// When the PingCompleted event is raised,
// the PingCompletedCallback method is called.
pingSender->PingCompleted += gcnew PingCompletedEventHandler( PingCompletedCallback );
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 );
// Send the ping asynchronously.
// Use the waiter as the user token.
// When the callback completes, it can wake up this thread.
pingSender->SendAsync( address, timeout, buffer, options, waiter );
// Prevent this example application from ending.
// A real application should do something useful
// when possible.
waiter->WaitOne();
Console::WriteLine( "Ping example completed." );
}
public static void AsyncComplexLocalPing ()
{
// Get an object that will block the main thread.
AutoResetEvent waiter = new AutoResetEvent (false);
// Ping's the local machine.
Ping pingSender = new Ping ();
// When the PingCompleted event is raised,
// the PingCompletedCallback method is called.
pingSender.PingCompleted += new PingCompletedEventHandler (PingCompletedCallback);
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);
// Send the ping asynchronously.
// Use the waiter as the user token.
// When the callback completes, it can wake up this thread.
pingSender.SendAsync (address, timeout, buffer, options, waiter);
// Prevent this example application from ending.
// A real application should do something useful
// when possible.
waiter.WaitOne ();
Console.WriteLine ("Ping example completed.");
}
Keterangan
Metode SendAsync mengirim pesan Echo secara asinkron dan, ketika operasi selesai (berhasil atau tidak berhasil), mengembalikan status ke aplikasi Anda.
SendAsync Panggil metode ketika aplikasi Anda tidak boleh memblokir. Setiap panggilan dijalankan dalam utas terpisah yang secara otomatis dialokasikan dari kumpulan utas. Ketika operasi asinkron selesai, operasi akan menaikkan PingCompleted peristiwa. Aplikasi menggunakan PingCompletedEventHandler delegasi untuk menentukan metode yang dipanggil saat SendAsync menaikkan peristiwa. Anda harus menambahkan PingCompletedEventHandler delegasi ke acara sebelum memanggil SendAsync. Metode delegasi menerima PingCompletedEventArgs objek yang berisi PingReply objek yang menjelaskan hasil SendAsync panggilan. Objek PingCompletedEventArgs mewarisi UserState properti . Properti ini berisi objek yang userToken
diteruskan ke SendAsync panggilan.
Jika aplikasi Anda memblokir saat menunggu balasan, gunakan Send metode ; metode ini sinkron.
Jika pesan balasan gema ICMP tidak diterima dalam waktu yang ditentukan oleh timeout
parameter, gema ICMP gagal, dan Status properti diatur ke TimedOut.
Catatan
Ketika menentukan angka yang sangat kecil untuk timeout
, balasan Ping dapat diterima meskipun timeout
milidetik telah berlalu.
DontFragment Jika properti adalah true
dan ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh, permintaan gema ICMP gagal. Ketika ini terjadi, Status diatur ke PacketTooBig.
Ttl Gunakan properti untuk menentukan berapa kali pesan gema ICMP dapat diteruskan sebelum mencapai tujuannya. Jika paket tidak mencapai tujuannya setelah diteruskan berapa kali yang ditentukan, paket dibuang dan permintaan gema ICMP gagal. Ketika ini terjadi, Status diatur ke TtlExpired.
Berlaku untuk
SendAsync(String, Int32, Byte[], Object)
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.
public:
void SendAsync(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer, System::Object ^ userToken);
public void SendAsync (string hostNameOrAddress, int timeout, byte[] buffer, object? userToken);
public void SendAsync (string hostNameOrAddress, int timeout, byte[] buffer, object userToken);
member this.SendAsync : string * int * byte[] * obj -> unit
Public Sub SendAsync (hostNameOrAddress As String, timeout As Integer, buffer As Byte(), userToken As Object)
Parameter
- hostNameOrAddress
- String
String Yang mengidentifikasi komputer yang merupakan tujuan untuk pesan gema ICMP. Nilai yang ditentukan untuk parameter ini dapat menjadi nama host atau representasi string dari alamat IP.
- timeout
- Int32
Int32 Nilai yang menentukan jumlah maksimum milidetik (setelah mengirim pesan gema) untuk menunggu pesan balasan gema ICMP.
- buffer
- Byte[]
Array Byte yang berisi data yang akan dikirim dengan pesan gema ICMP dan dikembalikan dalam pesan balasan gema ICMP. Array tidak boleh berisi lebih dari 65.500 byte.
- userToken
- Object
Objek yang diteruskan ke metode yang dipanggil ketika operasi asinkron selesai.
Pengecualian
hostNameOrAddress
adalah null
atau adalah string kosong ("").
-atau-
buffer
adalah null
.
timeout
kurang dari nol.
Panggilan ke SendAsync sedang berlangsung.
Pengecualian dilemparkan saat mengirim atau menerima pesan ICMP. Lihat pengecualian dalam untuk pengecualian yang tepat yang dilemparkan.
hostNameOrAddress
tidak dapat diselesaikan ke alamat IP yang valid.
Obyek ini telah dibuang.
Ukuran buffer
melebihi 65500 byte.
.NET 7 dan versi yang lebih baru hanya di Linux: Prosesnya tidak diistimewakan, dan buffer
tidak kosong.
Contoh
Contoh kode berikut menunjukkan cara memanggil SendAsync kelebihan beban, lihat Ping gambaran umum kelas.
Keterangan
Metode SendAsync mengirim pesan Echo secara asinkron dan, ketika operasi selesai (berhasil atau tidak berhasil), mengembalikan status ke aplikasi Anda.
SendAsync Panggil metode ketika aplikasi Anda tidak boleh memblokir. Setiap panggilan dijalankan dalam utas terpisah yang secara otomatis dialokasikan dari kumpulan utas. Ketika operasi asinkron selesai, operasi akan menaikkan PingCompleted peristiwa. Aplikasi menggunakan PingCompletedEventHandler delegasi untuk menentukan metode yang dipanggil saat SendAsync menaikkan peristiwa. Anda harus menambahkan PingCompletedEventHandler delegasi ke acara sebelum memanggil SendAsync. Metode delegasi menerima objek yang PingCompletedEventArgsPingReply berisi objek yang menjelaskan hasil SendAsync panggilan. Objek PingCompletedEventArgs mewarisi UserState properti . Properti ini berisi objek yang userToken
diteruskan ke SendAsync panggilan.
Jika aplikasi Anda harus memblokir saat menunggu balasan, gunakan Send metode ; metode ini sinkron.
Jika pesan balasan gema ICMP tidak diterima dalam waktu yang ditentukan oleh timeout
parameter, gema ICMP gagal, dan Status properti diatur ke TimedOut.
Catatan
Ketika menentukan angka yang sangat kecil untuk timeout
, balasan Ping dapat diterima meskipun timeout
milidetik telah berlalu.
Kelebihan beban ini menggunakan pengaturan default untuk fragmentasi paket dan penerusan paket. Paket yang berisi pesan gema ICMP dapat terfragmentasi saat transit jika ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh. Untuk mencegah fragmentasi, gunakan salah SendAsync satu metode yang mengambil options
parameter, dan atur properti ke DontFragmenttrue
. Kapan DontFragment dan true
ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh, permintaan gema ICMP gagal. Ketika ini terjadi, Status diatur ke PacketTooBig. Paket atau fragmen paket (jika terfragmentasi) dapat diteruskan dengan merutekan simpul 128 kali sebelum dibuang. Untuk mengubah pengaturan ini, gunakan SendAsync kelebihan beban yang mengambil options
parameter, dan atur Ttl properti ke nilai yang diinginkan. Jika paket tidak mencapai tujuannya setelah diteruskan berapa kali yang ditentukan, paket dibuang dan permintaan gema ICMP gagal. Ketika ini terjadi, Status diatur ke TtlExpired.
Berlaku untuk
SendAsync(IPAddress, Int32, Byte[], Object)
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.
public:
void SendAsync(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer, System::Object ^ userToken);
public void SendAsync (System.Net.IPAddress address, int timeout, byte[] buffer, object? userToken);
public void SendAsync (System.Net.IPAddress address, int timeout, byte[] buffer, object userToken);
member this.SendAsync : System.Net.IPAddress * int * byte[] * obj -> unit
Public Sub SendAsync (address As IPAddress, timeout As Integer, buffer As Byte(), userToken As Object)
Parameter
- address
- IPAddress
Yang IPAddress mengidentifikasi komputer yang merupakan tujuan untuk pesan gema ICMP.
- timeout
- Int32
Int32 Nilai yang menentukan jumlah maksimum milidetik (setelah mengirim pesan gema) untuk menunggu pesan balasan gema ICMP.
- buffer
- Byte[]
Array Byte yang berisi data yang akan dikirim dengan pesan gema ICMP dan dikembalikan dalam pesan balasan gema ICMP. Array tidak boleh berisi lebih dari 65.500 byte.
- userToken
- Object
Objek yang diteruskan ke metode yang dipanggil ketika operasi asinkron selesai.
Pengecualian
address
atau buffer
adalah null
.
timeout
kurang dari nol.
Panggilan ke SendAsync sedang berlangsung.
Pengecualian dilemparkan saat mengirim atau menerima pesan ICMP. Lihat pengecualian dalam untuk pengecualian yang tepat yang dilemparkan.
address
bukan alamat IP yang valid.
Obyek ini telah dibuang.
Ukuran buffer
melebihi 65500 byte.
.NET 7 dan versi yang lebih baru hanya di Linux: Prosesnya tidak diistimewakan, dan buffer
tidak kosong.
Contoh
Untuk contoh kode yang menunjukkan panggilan SendAsync kelebihan beban, lihat Ping gambaran umum kelas.
Keterangan
Metode ini mengirim pesan echo secara asinkron dan, ketika operasi selesai (berhasil atau tidak berhasil), mengembalikan status ke aplikasi Anda.
SendAsync Panggil metode ketika aplikasi Anda tidak boleh memblokir. Setiap panggilan dijalankan dalam utas terpisah yang secara otomatis dialokasikan dari kumpulan utas. Ketika operasi asinkron selesai, operasi akan menaikkan PingCompleted peristiwa. Untuk menentukan metode yang dipanggil saat SendAsync menaikkan peristiwa, Anda harus menambahkan PingCompletedEventHandler delegasi ke peristiwa sebelum memanggil SendAsync. Metode delegasi menerima PingCompletedEventArgs objek yang berisi PingReply objek yang menjelaskan hasil SendAsync panggilan. Objek PingCompletedEventArgs mewarisi UserState properti . Properti ini berisi objek yang userToken
diteruskan ke SendAsync panggilan.
Catatan
Jika aplikasi Anda memblokir saat menunggu balasan, gunakan Send metode ; metode ini sinkron.
Jika pesan balasan gema ICMP tidak diterima dalam waktu yang ditentukan oleh timeout
parameter, gema ICMP gagal, dan Status properti diatur ke TimedOut.
Catatan
Ketika menentukan angka yang sangat kecil untuk timeout
, balasan Ping dapat diterima meskipun timeout
milidetik telah berlalu.
Kelebihan beban ini menggunakan pengaturan default untuk fragmentasi paket dan penerusan paket. Paket yang berisi pesan gema ICMP dapat terfragmentasi saat transit jika ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh. Untuk mencegah fragmentasi, gunakan salah SendAsync satu metode yang mengambil options
parameter, dan atur properti ke DontFragmenttrue
. Kapan DontFragment dan true
ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh, permintaan gema ICMP gagal. Ketika ini terjadi, Status diatur ke PacketTooBig. Paket atau fragmen paket (jika terfragmentasi) dapat diteruskan dengan merutekan simpul 128 kali sebelum dibuang. Untuk mengubah pengaturan ini, gunakan SendAsync kelebihan beban yang mengambil options
parameter, dan atur Ttl properti ke nilai yang diinginkan. Jika paket tidak mencapai tujuannya setelah diteruskan berapa kali yang ditentukan, paket dibuang dan permintaan gema ICMP gagal. Ketika ini terjadi, Status diatur ke TtlExpired.
Berlaku untuk
SendAsync(IPAddress, Int32, Object)
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.
public:
void SendAsync(System::Net::IPAddress ^ address, int timeout, System::Object ^ userToken);
public void SendAsync (System.Net.IPAddress address, int timeout, object? userToken);
public void SendAsync (System.Net.IPAddress address, int timeout, object userToken);
member this.SendAsync : System.Net.IPAddress * int * obj -> unit
Public Sub SendAsync (address As IPAddress, timeout As Integer, userToken As Object)
Parameter
- address
- IPAddress
Yang IPAddress mengidentifikasi komputer yang merupakan tujuan untuk pesan gema ICMP.
- timeout
- Int32
Int32 Nilai yang menentukan jumlah maksimum milidetik (setelah mengirim pesan gema) untuk menunggu pesan balasan gema ICMP.
- userToken
- Object
Objek yang diteruskan ke metode yang dipanggil ketika operasi asinkron selesai.
Pengecualian
address
adalah null
.
timeout
kurang dari nol.
Panggilan ke SendAsync(IPAddress, Int32, Byte[], Object) metode sedang berlangsung.
Pengecualian dilemparkan saat mengirim atau menerima pesan ICMP. Lihat pengecualian dalam untuk pengecualian yang tepat yang dilemparkan.
address
bukan alamat IP yang valid.
Obyek ini telah dibuang.
Contoh
Untuk contoh kode yang menunjukkan panggilan SendAsync kelebihan beban, lihat Ping gambaran umum kelas.
Keterangan
Metode ini SendAsync mengirim pesan Echo secara asinkron dan, ketika operasi selesai (berhasil atau tidak berhasil), mengembalikan status ke aplikasi Anda.
SendAsync Panggil metode ketika aplikasi Anda tidak boleh memblokir. Setiap panggilan dijalankan dalam utas terpisah yang secara otomatis dialokasikan dari kumpulan utas. Ketika operasi asinkron selesai, operasi tersebut akan memunculkan PingCompleted peristiwa. Aplikasi menggunakan PingCompletedEventHandler delegasi untuk menentukan metode yang dipanggil saat SendAsync menaikkan peristiwa. Anda harus menambahkan PingCompletedEventHandler delegasi ke acara sebelum memanggil SendAsync. Metode delegasi menerima PingCompletedEventArgs objek yang berisi PingReply objek yang menjelaskan hasil SendAsync panggilan. Objek PingCompletedEventArgs mewarisi UserState properti . Properti ini berisi objek yang userToken
diteruskan ke SendAsync panggilan.
Jika aplikasi Anda harus memblokir saat menunggu balasan, gunakan Send metode ; metode ini sinkron.
Jika pesan balasan gema ICMP tidak diterima dalam waktu yang ditentukan oleh timeout
parameter, gema ICMP gagal, dan Status properti diatur ke TimedOut.
Catatan
Ketika menentukan angka yang sangat kecil untuk timeout
, balasan Ping dapat diterima meskipun timeout
milidetik telah berlalu.
Kelebihan beban ini menggunakan pengaturan default untuk fragmentasi paket dan penerusan paket. Paket yang berisi pesan echo ICMP dapat difragmentasi saat transit jika ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu node perutean antara komputer lokal dan jarak jauh. Untuk mencegah fragmentasi, gunakan salah SendAsync satu metode yang mengambil options
parameter, dan atur DontFragment properti ke true
. Kapan DontFragment adalah true
dan ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh, permintaan echo ICMP gagal. Ketika ini terjadi, Status diatur ke PacketTooBig. Fragmen paket atau paket (jika terfragmentasi) dapat diteruskan dengan merutekan simpul 128 kali sebelum dibuang. Untuk mengubah pengaturan ini, gunakan SendAsync kelebihan beban yang mengambil options
parameter, dan atur Ttl properti ke nilai yang diinginkan. Jika paket tidak mencapai tujuannya setelah diteruskan beberapa kali, paket dibuang dan permintaan ICMP echo gagal. Ketika ini terjadi, Status diatur ke TtlExpired.
Berlaku untuk
SendAsync(String, Object)
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut.
public:
void SendAsync(System::String ^ hostNameOrAddress, System::Object ^ userToken);
public void SendAsync (string hostNameOrAddress, object? userToken);
public void SendAsync (string hostNameOrAddress, object userToken);
member this.SendAsync : string * obj -> unit
Public Sub SendAsync (hostNameOrAddress As String, userToken As Object)
Parameter
- hostNameOrAddress
- String
String Yang mengidentifikasi komputer yang merupakan tujuan untuk pesan gema ICMP. Nilai yang ditentukan untuk parameter ini dapat berupa nama host atau representasi string alamat IP.
- userToken
- Object
Objek yang diteruskan ke metode yang dipanggil ketika operasi asinkron selesai.
Pengecualian
hostNameOrAddress
adalah null
atau adalah string kosong ("").
Panggilan ke SendAsync(String, Object) metode sedang berlangsung.
Pengecualian dilemparkan saat mengirim atau menerima pesan ICMP. Lihat pengecualian dalam untuk pengecualian yang tepat yang dilemparkan.
hostNameOrAddress
tidak dapat diatasi ke alamat IP yang valid.
Objek ini telah dibuang.
Contoh
Untuk contoh kode yang menunjukkan pemanggilan SendAsync metode, lihat Ping gambaran umum kelas.
Keterangan
Metode mengirim SendAsync pesan echo secara asinkron dan, ketika operasi selesai (berhasil atau tidak berhasil), mengembalikan status ke aplikasi Anda.
SendAsync Panggil metode ketika aplikasi Anda tidak boleh memblokir. Setiap panggilan ke metode ini dijalankan dalam utas terpisah yang secara otomatis dialokasikan dari kumpulan utas. Ketika operasi asinkron selesai, operasi tersebut akan memunculkan PingCompleted peristiwa. Untuk menentukan metode yang dipanggil saat SendAsync menaikkan peristiwa, Anda harus menambahkan PingCompletedEventHandler delegasi ke peristiwa sebelum memanggil SendAsync. Metode delegasi menerima PingCompletedEventArgs objek yang berisi PingReply objek yang menjelaskan hasil SendAsync panggilan. Objek PingCompletedEventArgs mewarisi UserState properti . Properti ini berisi objek yang userToken
diteruskan ke SendAsync panggilan.
Catatan
Jika aplikasi Anda harus memblokir saat menunggu balasan, gunakan Send metode ; metode ini sinkron.
Metode ini mengirim buffer data 32 Byte dengan pesan gema ICMP. Metode menunggu lima detik untuk pesan balasan gema ICMP. Jika tidak menerima balasan pada saat itu metode kembali dan Status properti diatur ke TimedOut.
Kelebihan beban ini menggunakan pengaturan default untuk fragmentasi paket dan penerusan paket. Paket yang berisi pesan echo ICMP dapat difragmentasi saat transit jika ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu node perutean antara komputer lokal dan jarak jauh. Untuk mencegah fragmentasi, gunakan salah SendAsync satu metode yang mengambil options
parameter, dan atur DontFragment properti ke true
. Kapan DontFragment adalah true
dan ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh, permintaan echo ICMP gagal. Ketika ini terjadi, Status diatur ke PacketTooBig.
Fragmen paket atau paket dapat diteruskan dengan simpul perutean 128 kali sebelum dibuang. Untuk mengubah pengaturan ini, gunakan SendAsync kelebihan beban yang mengambil options
parameter, dan atur Ttl properti ke nilai yang diinginkan. Jika paket tidak mencapai tujuannya setelah diteruskan beberapa kali, paket dibuang dan permintaan ICMP echo gagal. Ketika ini terjadi, Status diatur ke TtlExpired.
Berlaku untuk
SendAsync(IPAddress, Object)
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut.
public:
void SendAsync(System::Net::IPAddress ^ address, System::Object ^ userToken);
public void SendAsync (System.Net.IPAddress address, object? userToken);
public void SendAsync (System.Net.IPAddress address, object userToken);
member this.SendAsync : System.Net.IPAddress * obj -> unit
Public Sub SendAsync (address As IPAddress, userToken As Object)
Parameter
- address
- IPAddress
Yang IPAddress mengidentifikasi komputer yang merupakan tujuan untuk pesan gema ICMP.
- userToken
- Object
Objek yang diteruskan ke metode yang dipanggil ketika operasi asinkron selesai.
Pengecualian
address
adalah null
.
Panggilan ke SendAsync metode sedang berlangsung.
Pengecualian dilemparkan saat mengirim atau menerima pesan ICMP. Lihat pengecualian dalam untuk pengecualian yang tepat yang dilemparkan.
address
bukan alamat IP yang valid.
Objek ini telah dibuang.
Contoh
Untuk contoh kode yang menunjukkan pemanggilan SendAsync metode, lihat Ping gambaran umum kelas.
Keterangan
Metode mengirim SendAsync pesan echo secara asinkron dan, ketika operasi selesai (berhasil atau tidak berhasil), mengembalikan status ke aplikasi Anda.
SendAsync Panggil metode ketika aplikasi Anda tidak boleh memblokir. Setiap panggilan ke metode ini dijalankan dalam utas terpisah yang secara otomatis dialokasikan dari kumpulan utas. Ketika operasi asinkron selesai, operasi tersebut akan memunculkan PingCompleted peristiwa. Untuk menentukan metode yang dipanggil saat SendAsync menaikkan peristiwa, Anda harus menambahkan PingCompletedEventHandler delegasi ke peristiwa sebelum memanggil SendAsync. Metode delegasi menerima PingCompletedEventArgs objek yang berisi PingReply objek yang menjelaskan hasil SendAsync panggilan. Objek PingCompletedEventArgs mewarisi UserState properti . Properti ini berisi objek yang userToken
diteruskan ke SendAsync panggilan.
Catatan
Jika aplikasi Anda harus memblokir saat menunggu balasan, gunakan salah Send satu metode; metode ini sinkron.
Metode ini mengirim buffer data 32 Byte dengan pesan gema ICMP. Metode menunggu lima detik untuk pesan balasan gema ICMP. Jika tidak menerima balasan dalam waktu tersebut, metode akan kembali dan Status properti diatur ke TimedOut.
Kelebihan beban ini menggunakan pengaturan default untuk fragmentasi paket dan penerusan paket. Paket yang berisi pesan echo ICMP dapat difragmentasi saat transit jika ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu node perutean antara komputer lokal dan jarak jauh. Untuk mencegah fragmentasi, gunakan salah SendAsync satu metode yang mengambil options
parameter, dan atur DontFragment properti ke true
. Kapan DontFragment adalah true
dan ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh, permintaan echo ICMP gagal. Ketika ini terjadi, Status diatur ke PacketTooBig.
Fragmen paket atau paket dapat diteruskan dengan simpul perutean 128 kali sebelum dibuang. Untuk mengubah pengaturan ini, gunakan SendAsync kelebihan beban yang mengambil options
parameter, dan atur Ttl properti ke nilai yang diinginkan. Jika paket tidak mencapai tujuannya setelah diteruskan beberapa kali, paket dibuang dan permintaan ICMP echo gagal. Ketika ini terjadi, Status diatur ke TtlExpired.
Berlaku untuk
SendAsync(String, Int32, Object)
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
- Sumber:
- Ping.cs
Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.
public:
void SendAsync(System::String ^ hostNameOrAddress, int timeout, System::Object ^ userToken);
public void SendAsync (string hostNameOrAddress, int timeout, object? userToken);
public void SendAsync (string hostNameOrAddress, int timeout, object userToken);
member this.SendAsync : string * int * obj -> unit
Public Sub SendAsync (hostNameOrAddress As String, timeout As Integer, userToken As Object)
Parameter
- hostNameOrAddress
- String
String Yang mengidentifikasi komputer yang merupakan tujuan untuk pesan gema ICMP. Nilai yang ditentukan untuk parameter ini dapat menjadi nama host atau representasi string dari alamat IP.
- timeout
- Int32
Int32 Nilai yang menentukan jumlah maksimum milidetik (setelah mengirim pesan gema) untuk menunggu pesan balasan gema ICMP.
- userToken
- Object
Objek yang diteruskan ke metode yang dipanggil ketika operasi asinkron selesai.
Pengecualian
hostNameOrAddress
adalah null
atau adalah string kosong ("").
timeout
kurang dari nol.
Panggilan ke SendAsync sedang berlangsung.
Pengecualian dilemparkan saat mengirim atau menerima pesan ICMP. Lihat pengecualian dalam untuk pengecualian yang tepat yang dilemparkan.
hostNameOrAddress
tidak dapat diatasi ke alamat IP yang valid.
Objek ini telah dibuang.
Contoh
Untuk contoh kode yang menunjukkan pemanggilan SendAsync metode, lihat Ping gambaran umum kelas.
Keterangan
Metode SendAsync mengirim pesan Echo secara asinkron dan, ketika operasi selesai (berhasil atau tidak berhasil), mengembalikan status ke aplikasi Anda.
SendAsync Panggil metode ketika aplikasi Anda tidak boleh memblokir. Setiap panggilan dijalankan dalam utas terpisah yang secara otomatis dialokasikan dari kumpulan utas. Ketika operasi asinkron selesai, operasi akan menaikkan PingCompleted peristiwa. Aplikasi menggunakan PingCompletedEventHandler delegasi untuk menentukan metode yang dipanggil saat SendAsync menaikkan peristiwa. Anda harus menambahkan PingCompletedEventHandler delegasi ke acara sebelum memanggil SendAsync. Metode delegasi menerima PingCompletedEventArgs objek yang berisi PingReply objek yang menjelaskan hasil SendAsync panggilan. Objek PingCompletedEventArgs mewarisi UserState properti . Properti ini berisi objek yang userToken
diteruskan ke SendAsync panggilan.
Jika aplikasi Anda harus memblokir saat menunggu balasan, gunakan Send metode ; metode ini sinkron.
Jika pesan balasan gema ICMP tidak diterima dalam waktu yang ditentukan oleh timeout
parameter, gema ICMP gagal, dan Status properti diatur ke TimedOut.
Catatan
Ketika menentukan angka yang sangat kecil untuk timeout
, balasan Ping dapat diterima meskipun timeout
milidetik telah berlalu.
Kelebihan beban ini menggunakan pengaturan default untuk fragmentasi paket dan penerusan paket. Paket yang berisi pesan gema ICMP dapat terfragmentasi saat transit jika ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh. Untuk mencegah fragmentasi, gunakan salah SendAsync satu metode yang mengambil options
parameter, dan atur properti ke DontFragmenttrue
. Kapan DontFragment dan true
ukuran paket total melebihi ukuran paket maksimum yang dapat ditransmisikan oleh salah satu simpul perutean antara komputer lokal dan jarak jauh, permintaan gema ICMP gagal. Ketika ini terjadi, Status diatur ke PacketTooBig. Paket atau fragmen paket (jika terfragmentasi) dapat diteruskan dengan merutekan simpul 128 kali sebelum dibuang. Untuk mengubah pengaturan ini, gunakan SendAsync kelebihan beban yang mengambil options
parameter, dan atur Ttl properti ke nilai yang diinginkan. Jika paket tidak mencapai tujuannya setelah diteruskan berapa kali yang ditentukan, paket dibuang dan permintaan gema ICMP gagal. Ketika ini terjadi, Status diatur ke TtlExpired.