LingerOption(Boolean, Int32) Oluşturucu
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.
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
Ö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.