Socket.Close Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fecha a conexão Socket e libera todos os recursos associados.
Sobrecargas
Close() |
Fecha a conexão Socket e libera todos os recursos associados. |
Close(Int32) |
Fecha a conexão de Socket e libera todos os recursos associados com um tempo limite especificado para permitir que os dados em fila sejam enviados. |
Close()
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
Fecha a conexão Socket e libera todos os recursos associados.
public:
void Close();
public void Close ();
member this.Close : unit -> unit
Public Sub Close ()
Exemplos
O exemplo de código a seguir fecha um Socket.
try
{
aSocket->Shutdown(SocketShutdown::Both);
aSocket->Close();
}
catch (...)
{
aSocket->Close();
throw;
}
if ( aSocket->Connected )
{
Console::WriteLine( "Winsock error: {0}", Convert::ToString(
System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
try
{
aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
aSocket.Close();
}
Try
aSocket.Shutdown(SocketShutdown.Both)
Finally
aSocket.Close()
End Try
End Sub
Comentários
O Close método fecha a conexão de host remoto e libera todos os recursos gerenciados e não gerenciados associados ao Socket. Ao fechar, a Connected propriedade é definida false
como .
Para protocolos orientados a conexão, é recomendável que você chame Shutdown antes de chamar o Close método . Isso garante que todos os dados sejam enviados e recebidos no soquete conectado antes de serem fechados.
Se você precisar chamar Close sem chamar Shutdownprimeiro , poderá garantir que os dados enfileirados para transmissão de saída sejam enviados definindo a opção DontLingerSocket como false
e especificando um intervalo de tempo limite diferente de zero.
Close em seguida, bloqueará até que esses dados sejam enviados ou até que o tempo limite especificado expire. Se você definir DontLinger como false
e especificar um intervalo de tempo limite zero, Close liberará a conexão e descartará automaticamente os dados na fila de saída.
Observação
Para definir a opção DontLinger de soquete como false
, crie um LingerOption, defina a propriedade habilitada como true
e defina a LingerTime propriedade como o período de tempo limite desejado. Use isso LingerOption junto com a opção DontLinger de soquete para chamar o SetSocketOption método .
Observação
Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.
Confira também
Aplica-se a
Close(Int32)
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
Fecha a conexão de Socket e libera todos os recursos associados com um tempo limite especificado para permitir que os dados em fila sejam enviados.
public:
void Close(int timeout);
public void Close (int timeout);
member this.Close : int -> unit
Public Sub Close (timeout As Integer)
Parâmetros
- timeout
- Int32
Aguarde até timeout
milissegundos para enviar os dados restantes e feche o soquete.
Exemplos
O exemplo de código a seguir demonstra como fechar um Socket.
try
{
aSocket->Shutdown(SocketShutdown::Both);
aSocket->Close();
}
catch (...)
{
aSocket->Close();
throw;
}
if ( aSocket->Connected )
{
Console::WriteLine( "Winsock error: {0}", Convert::ToString(
System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
try
{
aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
aSocket.Close();
}
Try
aSocket.Shutdown(SocketShutdown.Both)
Finally
aSocket.Close()
End Try
End Sub
Comentários
O Close método fecha a conexão de host remoto e libera todos os recursos gerenciados e não gerenciados associados ao Socket. Ao fechar, a Connected propriedade é definida false
como .
Para protocolos orientados a conexão, é recomendável que você chame Shutdown antes de chamar Close. Isso garante que todos os dados sejam enviados e recebidos no soquete conectado antes de serem fechados.
Se você precisar chamar Close sem chamar Shutdownprimeiro , poderá garantir que os dados enfileirados para transmissão de saída sejam enviados definindo a opção DontLinger como false
e especificando um intervalo de tempo limite diferente de zero.
Close em seguida, bloqueará até que esses dados sejam enviados ou até que o tempo limite especificado expire. Se você definir DontLinger como false
e especificar um intervalo de tempo limite zero, Close liberará a conexão e descartará automaticamente os dados na fila de saída.
Observação
Para definir a opção DontLinger de soquete como false
, crie um LingerOption, defina a propriedade habilitada como true
e defina a LingerTime propriedade como o período de tempo limite desejado. Use isso LingerOption junto com a opção DontLinger de soquete para chamar o SetSocketOption método .
Observação
Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.