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ı kalmak için saniye sayısı.

Örnekler

Aşağıdaki örnek, yöntemi çağrıldıktan Close sonra bir saniye daha fazla kalacak şekilde önceden oluşturulmuş Socket bir küme ayarlar.

LingerOption^ myOpts = gcnew LingerOption( true,1 );
mySocket->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::Linger, myOpts );
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

kapatıldıktan sonra Socketgiden ağ arabelleğinde hala kullanılabilir veriler olabilir. enable kapatma yöntemi çağrıldıktan sonra göndermeye devam etmek isteyip istemediğinizi Socket belirtmek için parametresini kullanın. Zaman aşımına seconds uğramadan önce, girilmeyen verileri aktarmayı ne kadar süreyle Socket deneyeceğini belirtmek için parametresini kullanın. parametresi ve parametresi için enable 0 seconds belirtirseniztrue, Socket giden ağ arabelleğinde veri kalmayıncaya kadar veri göndermeye çalışır. parametresini enable belirtirsenizfalse, Socket hemen kapatılır ve girilmeyen 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ı uygulanmaya ve geçersiz kılmaya devam eder.

Şunlara uygulanır