Aracılığıyla paylaş


ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) Yöntem

Tanım

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

keepAliveTime veya keepAliveInterval parametresi için belirtilen değer 0'dan küçük veya buna eşittir.

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 milisaniye cinsinden zaman aşımını belirtir. keepAliveInterval parametresi, onay alınmadığında birbirini izleyen etkin tutma paketlerinin gönderilmesi 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 NetworkResetSocketError döndürülür ve sonraki çağrılar NotConnectedSocketError ile başarısız olur.

Şunlara uygulanır