Aracılığıyla paylaş


LingerOption(Boolean, Int32) Oluşturucu

Tanım

LingerOption sınıfının yeni bir örneğini başlatır.

public:
 LingerOption(bool enable, int seconds);
public LingerOption(bool enable, int seconds);
new System.Net.Sockets.LingerOption : bool * int -> System.Net.Sockets.LingerOption
Public Sub New (enable As Boolean, seconds As Integer)

Parametreler

enable
Boolean

true yöntemi çağrıldıktan sonra Close() bağlı kalmak için; aksi takdirde , false.

seconds
Int32

Yöntem çağrıldıktan sonra Close() bağlı kalacak saniye sayısı.

Örnekler

Aşağıdaki örnek, yöntemi çağrıldıktan sonra daha önce oluşturulmuş Socket bir saniye boyunca kalacak şekilde Close ayarlar.

LingerOption myOpts = new LingerOption(true,1);

mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, myOpts);
Dim myOpts As New LingerOption(True, 1)
       
mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, _
   myOpts)

Açıklamalar

'yi kapattıktan Socketsonra giden ağ arabelleğinde hala kullanılabilir veriler olabilir. enable kapatma yöntemi çağrıldıktan sonra gönderilmeyen verileri iletmeye devam etmek isteyip istemediğinizi Socket belirtmek için parametresini kullanın. Zaman aşımına seconds uğramadan önce kaydedilmemiş verileri aktarmayı ne kadar süreyle deneyeceğini Socket belirtmek için parametresini kullanın. parametresi için ve parametre için enableseconds 0 belirtirseniztrue, Socket giden ağ arabelleğinde veri kalmayıncaya kadar veri göndermeye çalışır. parametresini enable belirtirsenizfalse, Socket parametresi hemen kapatılır ve kaydedilmemiş veriler kaybolur.

Aşağıdaki tabloda, veya TcpClient.Close özelliğinde Socket.Close bir T:System.Net.Sockets.LingerOption örneği oluşturulduğunda ve seconds parametrelerinin enable olası değerlerine göre ve yöntemlerindeki Socket.LingerStateTcpClient.LingerState davranış açıklanmaktadır.

enable seconds 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 bağlantı odaklı bir yuva (örneğin TCP) için 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 tüm verileri atar. Bağlantı odaklı yuva (örneğin TCP) için 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ı yine geçerli olur ve geçersiz kılar.

Şunlara uygulanır