Bagikan melalui


ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Metode

Definisi

Mengaktifkan atau menonaktifkan opsi tetap hidup pada koneksi TCP.

public:
 static void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
public static void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
static member SetTcpKeepAlive : bool * int * int -> unit
Public Shared Sub SetTcpKeepAlive (enabled As Boolean, keepAliveTime As Integer, keepAliveInterval As Integer)

Parameter

enabled
Boolean

Jika diatur ke true, maka opsi TCP keep-alive pada koneksi TCP akan diaktifkan menggunakan nilai dan keepAliveInterval yang ditentukankeepAliveTime.

Jika diatur ke false, maka opsi TCP keep-alive dinonaktifkan dan parameter yang tersisa diabaikan.

Nilai defaultnya adalah false.

keepAliveTime
Int32

Menentukan batas waktu, dalam milidetik, tanpa aktivitas hingga paket tetap hidup pertama dikirim.

Nilai harus lebih besar dari 0. Jika nilai kurang dari atau sama dengan nol diteruskan, ArgumentOutOfRangeException nilai akan dilemparkan.

keepAliveInterval
Int32

Menentukan interval, dalam milidetik, antara kapan paket keep-alive berturut-turut dikirim jika tidak ada pengakuan yang diterima.

Nilai harus lebih besar dari 0. Jika nilai kurang dari atau sama dengan nol diteruskan, ArgumentOutOfRangeException nilai akan dilemparkan.

Pengecualian

Nilai yang ditentukan untuk keepAliveTime atau keepAliveInterval parameter kurang dari atau sama dengan 0.

Keterangan

Aplikasi dapat meminta penyedia TCP/IP mengaktifkan penggunaan paket tetap aktif pada koneksi TCP. Defaultnya adalah bahwa penggunaan paket tetap hidup pada koneksi TCP dinonaktifkan.

Pengaturan default saat soket TCP diinisialisasi mengatur batas waktu tetap hidup menjadi 2 jam dan interval tetap hidup menjadi 1 detik. Parameter keepAliveTime menentukan batas waktu, dalam milidetik, tanpa aktivitas hingga paket tetap aktif pertama dikirim. Parameter keepAliveInterval menentukan interval, dalam milidetik, antara ketika paket keep-alive berturut-turut dikirim jika tidak ada pengakuan yang diterima. Jumlah pemeriksaan tetap hidup tidak dapat diubah dan diatur ke 10.

Jika koneksi TCP dihilangkan sebagai akibat dari tetap hidup, salah satunya SocketErrorNetworkReset dikembalikan ke panggilan apa pun yang sedang berlangsung pada soket, dan setiap panggilan berikutnya akan gagal dengan SocketError dari NotConnected.

Metode ini tidak aman untuk utas. Apa pun ServicePoint yang dibuat pada saat yang sama mungkin melihat nilai yang diubah sebagian untuk TCP tetap hidup.

Nota

Karena .NET 9, HttpWebRequest menggunakan untuk mengatur opsi tetap hidup TCP pada soket yang mendasar SocketsHttpHandler.ConnectCallback ke nilai yang disediakan untuk metode ini.

Berlaku untuk

Lihat juga