ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) Yöntem
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.
TCP bağlantısında etkin tutma seçeneğini etkinleştirir veya devre dışı bırakır.
public:
void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
public void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
member this.SetTcpKeepAlive : bool * int * int -> unit
Public Sub SetTcpKeepAlive (enabled As Boolean, keepAliveTime As Integer, keepAliveInterval As Integer)
Parametreler
- enabled
- Boolean
True olarak ayarlanırsa, tcp bağlantısındaki TCP etkin tutma seçeneği belirtilen keepAliveTime ve keepAliveInterval değerleri kullanılarak etkinleştirilir.
False olarak ayarlanırsa TCP etkin tutma seçeneği devre dışı bırakılır ve kalan parametreler yoksayılır.
Varsayılan değer false'tur.
- keepAliveTime
- Int32
İlk etkin tutma paketi gönderilene kadar etkinlik olmadan milisaniye cinsinden zaman aşımını belirtir.
Değer 0'dan büyük olmalıdır. Sıfırdan küçük veya sıfıra eşit bir değer geçirilirse bir ArgumentOutOfRangeException oluşturulur.
- keepAliveInterval
- Int32
Onay alınmadığında birbirini izleyen etkin tutma paketlerinin gönderileceği zaman arasındaki aralığı milisaniye olarak belirtir.
Değer 0'dan büyük olmalıdır. Sıfırdan küçük veya sıfıra eşit bir değer geçirilirse bir ArgumentOutOfRangeException oluşturulur.
Özel durumlar
veya keepAliveInterval parametresi için keepAliveTime belirtilen değer 0'dan küçük veya buna eşit.
Açıklamalar
Dikkat
WebRequest, HttpWebRequest, ServicePointve WebClient kullanım dışıdır ve bunları yeni geliştirme için kullanmamalısınız. Bunun yerine HttpClient kullanın.
Bir uygulama, TCP/IP sağlayıcısının TCP bağlantısında etkin tutma paketlerinin kullanımını etkinleştirmesini isteyebilir. Varsayılan değer, TCP bağlantısında etkin tutma paketlerinin kullanımı devre dışıdır.
TCP yuvası başlatıldığında varsayılan ayarlar, etkin tutma zaman aşımını 2 saate ve etkin tutma aralığını 1 saniyeye ayarlar.
keepAliveTime parametresi, ilk etkin tutma paketi gönderilene kadar etkinlik olmadan zaman aşımını milisaniye olarak belirtir.
keepAliveInterval parametresi, onay alınmadığında birbirini izleyen etkin tutma paketlerinin ne zaman gönderileceği arasındaki aralığı milisaniye olarak belirtir. Etkin tutma yoklamalarının sayısı değiştirilemez ve 10 olarak ayarlanır.
Canlı tutma işlemleri sonucunda bir TCP bağlantısı bırakılırsa, yuvada devam eden tüm çağrılara bir SocketErrorNetworkReset değeri döndürülür ve sonraki çağrılar NotConnectedile SocketError başarısız olur.
Bu yöntem iş parçacığı güvenli değildir. Aynı anda oluşturulan tüm yeni bağlantılar TCP etkin tutma için kısmen değiştirilmiş değerler görebilir.
Uyarı
.NET 9'dan bu yana, HttpWebRequest temel yuvadaki TCP etkin tutma seçeneklerini bu yönteme sağlanan değerlere ayarlamak için kullanır SocketsHttpHandler.ConnectCallback .