Partilhar via


TcpClient.LingerState Propriedade

Definição

Obtém ou define as informações sobre o estado remanescente do soquete associado.

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

Valor da propriedade

Um LingerOption. Por padrão, a remanescência está desabilitada.

Exemplos

O exemplo de código a seguir define e obtém o tempo de permanência dos soquetes.

// 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

Comentários

A LingerState propriedade altera a maneira como Close o método se comporta. Essa propriedade quando definida modifica as condições sob as quais a conexão pode ser redefinida pelo Winsock. As redefinições de conexão ainda podem ocorrer com base no comportamento do protocolo IP.

Essa propriedade controla o período de tempo em que a conexão TCP permanecerá aberta após uma chamada para Close quando os dados ainda serão enviados. Quando você chama o método , os Write dados são colocados no buffer de rede de saída. Essa propriedade pode ser usada para garantir que esses dados sejam enviados para o host remoto antes que o Close método cancele a conexão.

Para habilitar a permanência, crie uma LingerOption instância que contenha os valores desejados e defina a LingerState propriedade como essa instância.

A tabela a seguir descreve o comportamento do Close método para os valores possíveis da Enabled propriedade e a LingerTime propriedade armazenada na LingerState propriedade .

LingerState.Enabled LingerState.LingerTime Comportamento
false (desabilitado), o valor padrão O tempo limite não é aplicável(padrão). Tenta enviar dados pendentes até que o tempo limite do protocolo IP padrão expire.
true (habilitado) Um tempo limite diferente de zero Tenta enviar dados pendentes até que o tempo limite especificado expire e, se a tentativa falhar, Winsock redefine a conexão.
true (habilitado) Um tempo limite zero. Descarta todos os dados pendentes e Winsock redefine a conexão.

A pilha de IP calcula o período de tempo limite do protocolo IP padrão a ser usado com base no tempo de viagem de ida e volta da conexão. Na maioria dos casos, o tempo limite calculado pela pilha é mais relevante do que um definido por um aplicativo. Esse é o comportamento padrão de um soquete quando a LingerState propriedade não está definida.

Quando a LingerTime propriedade armazenada na LingerState propriedade for definida como maior que o tempo limite do protocolo IP padrão, o tempo limite do protocolo IP padrão ainda será aplicado e substituído.

Aplica-se a

Confira também