LingerOption(Boolean, Int32) 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 LingerOption 類別的新執行個體。
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)
參數
範例
下列範例會在呼叫 Close 方法之後,將先前建立Socket的 設定為 linger 一秒。
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)
備註
在您關閉 Socket之後,傳出網路緩衝區中可能仍有可用的數據。
enable
使用 參數來指定是否要在Socket呼叫 close 方法之後繼續傳輸未傳送的數據。
seconds
使用 參數來指出您想要Socket在逾時之前嘗試傳輸未傳送數據的時間長度。如果您為 enable
參數指定 true
0seconds
,則會Socket嘗試傳送數據,直到傳出網路緩衝區中沒有剩餘的數據為止。 如果您為 enable
參數指定 false
,則會Socket立即關閉 ,且任何未傳送的數據都會遺失。
下表描述 Socket.Close 在 或 TcpClient.LingerState 屬性中Socket.LingerState建立及設定 T:System.Net.Sockets.LingerOption 實例時,和 TcpClient.Closeseconds
方法enable
的行為。
enable |
seconds |
行為 |
---|---|---|
false (停用) 預設值 |
逾時不適用, (預設) 。 | 嘗試傳送連線導向套接字 (TCP 的擱置數據,例如) 直到預設 IP 通訊協定逾時為止。 |
true 已啟用 () |
非零逾時 | 嘗試傳送擱置的數據,直到指定的逾時到期為止,如果嘗試失敗,Winsock 會重設連線。 |
true 已啟用 () |
零逾時。 | 捨棄任何擱置的數據。 針對連線導向套接字 (TCP,例如) ,Winsock 會重設連線。 |
IP 堆疊會根據連線的來回時間計算要使用的預設IP通訊協定逾時期間。 在大部分情況下,堆疊所計算的逾時比應用程式所定義的逾時還要相關。 當未設定 屬性時 LingerState ,這是套接字的默認行為。
LingerTime當屬性中LingerState儲存的屬性設定大於預設 IP 通訊協定逾時,預設 IP 通訊協定逾時仍會套用並覆寫。