TcpClient.LingerState Özellik

Tanım

İlişkili yuvanın kalan durumu hakkındaki bilgileri alır veya ayarlar.

public:
 property System::Net::Sockets::LingerOption ^ LingerState { System::Net::Sockets::LingerOption ^ get(); void set(System::Net::Sockets::LingerOption ^ value); };
public System.Net.Sockets.LingerOption? LingerState { get; set; }
public System.Net.Sockets.LingerOption LingerState { get; set; }
member this.LingerState : System.Net.Sockets.LingerOption with get, set
Public Property LingerState As LingerOption

Özellik Değeri

Bir LingerOption. Varsayılan olarak, kalanlar devre dışı bırakılır.

Örnekler

Aşağıdaki kod örneği yuvaların kalma süresini ayarlar ve alır.

// sets the amount of time to linger after closing, using the LingerOption public property.
LingerOption^ lingerOption = gcnew LingerOption( true,10 );
tcpClient->LingerState = lingerOption;

// gets the amount of linger time set, using the LingerOption public property.
if ( tcpClient->LingerState->LingerTime == 10 )
      Console::WriteLine( "The linger state setting was successfully set to {0}", tcpClient->LingerState->LingerTime );
// sets the amount of time to linger after closing, using the LingerOption public property.
LingerOption lingerOption = new LingerOption (true, 10);

tcpClient.LingerState = lingerOption;

// gets the amount of linger time set, using the LingerOption public property.
if (tcpClient.LingerState.LingerTime == 10)
    Console.WriteLine ("The linger state setting was successfully set to " + tcpClient.LingerState.LingerTime.ToString ());
' Sets the amount of time to linger after closing, using the LingerOption public property.
Dim lingerOption As New LingerOption(True, 10)
tcpClient.LingerState = lingerOption

' Gets the amount of linger time set, using the LingerOption public property.
If tcpClient.LingerState.LingerTime = 10 Then
   Console.WriteLine(("The linger state setting was successfully set to " + tcpClient.LingerState.LingerTime.ToString()))
End If

Açıklamalar

LingerState özelliği yöntemin davranış biçimini Close değiştirir. Ayarlandığında bu özellik, winsock tarafından bağlantının sıfırlanabileceği koşulları değiştirir. Bağlantı sıfırlama işlemleri IP protokolü davranışına bağlı olarak yine de gerçekleşebilir.

Bu özellik, verilerin gönderilmeye devam edeceği bir çağrıdan Close sonra TCP bağlantısının açık kalacağı süreyi denetler. yöntemini çağırdığınızda Write veriler giden ağ arabelleğine yerleştirilir. Bu özellik, yöntem bağlantıyı bırakmadan önce bu verilerin uzak ana bilgisayara gönderilmesini Close sağlamak için kullanılabilir.

Kalanları etkinleştirmek için, istenen değerleri içeren bir LingerOption örnek oluşturun ve özelliğini bu örneğe ayarlayın LingerState .

Aşağıdaki tabloda, özelliğinin Close olası değerleri Enabled ve özelliğinde LingerState depolanan özellik için yönteminin LingerTime davranışı açıklanmaktadır.

LingerState.Enabled LingerState.LingerTime Davranış
false (devre dışı), varsayılan değer Zaman aşımı geçerli değildir (varsayılan). Varsayılan IP protokolü zaman aşımı süresi dolana kadar bekleyen verileri göndermeye çalışır.
true (etkin) Sıfır olmayan bir zaman aşımı Belirtilen zaman aşımı süresi dolana kadar bekleyen verileri göndermeye çalışır ve deneme başarısız olursa Winsock bağlantıyı sıfırlar.
true (etkin) Sıfır zaman aşımı. Bekleyen verileri atar ve Winsock bağlantıyı sıfırlar.

IP yığını, bağlantının gidiş dönüş süresine göre kullanılacak varsayılan IP protokolü zaman aşımı süresini hesaplar. Çoğu durumda, yığın tarafından hesaplanan zaman aşımı, bir uygulama tarafından tanımlanandan daha ilgilidir. Özellik ayarlanmadığında LingerState yuva için varsayılan davranış budur.

LingerTime Özelliğinde LingerState depolanan özellik varsayılan IP protokolü zaman aşımından daha büyük olarak ayarlandığında, varsayılan IP protokolü zaman aşımı uygulanmaya ve geçersiz kılmaya devam eder.

Şunlara uygulanır

Ayrıca bkz.