Socket.Close Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cierra la conexión Socket y libera todos los recursos asociados.
Sobrecargas
Close() |
Cierra la conexión Socket y libera todos los recursos asociados. |
Close(Int32) |
Cierra la conexión Socket y libera todos los recursos asociados con un tiempo de espera especificado para permitir el envío de los datos en cola. |
Close()
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Cierra la conexión Socket y libera todos los recursos asociados.
public:
void Close();
public void Close ();
member this.Close : unit -> unit
Public Sub Close ()
Ejemplos
En el ejemplo de código siguiente se cierra .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
Comentarios
El Close método cierra la conexión de host remota y libera todos los recursos administrados y no administrados asociados a Socket. Al cerrar, la Connected propiedad se establece en false
.
En el caso de los protocolos orientados a la conexión, se recomienda llamar Shutdown a antes de llamar al Close método . Esto garantiza que todos los datos se envíen y reciban en el socket conectado antes de cerrarlos.
Si necesita llamar sin llamar Close primero a Shutdown, puede asegurarse de que los datos en cola para la transmisión saliente se enviarán estableciendo la DontLingerSocket opción false
en y especificando un intervalo de tiempo de espera distinto de cero.
Close se bloqueará hasta que se envíen estos datos o hasta que expire el tiempo de espera especificado. Si establece DontLingerfalse
en y especifica un intervalo de tiempo de espera cero, Close libera la conexión y descarta automáticamente los datos en cola salientes.
Nota
Para establecer la opción de DontLinger socket en , cree un LingerOption, establezca la propiedad true
habilitada en y establezca la LingerTime propiedad en el período de tiempo de espera false
deseado. Úselo LingerOption junto con la opción de DontLinger socket para llamar al SetSocketOption método .
Nota
Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.
Consulte también
Se aplica a
Close(Int32)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Cierra la conexión Socket y libera todos los recursos asociados con un tiempo de espera especificado para permitir el envío de los datos en cola.
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
Espere hasta timeout
milisegundos para enviar los datos restantes y, a continuación, cierre el socket.
Ejemplos
En el ejemplo de código siguiente se muestra cómo cerrar un .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
Comentarios
El Close método cierra la conexión de host remota y libera todos los recursos administrados y no administrados asociados a Socket. Al cerrar, la Connected propiedad se establece en false
.
En el caso de los protocolos orientados a la conexión, se recomienda llamar Shutdown a antes de llamar a Close. Esto garantiza que todos los datos se envíen y reciban en el socket conectado antes de cerrarlos.
Si necesita llamar sin llamar Close primero a Shutdown, puede asegurarse de que los datos en cola para la transmisión saliente se enviarán estableciendo la DontLinger opción false
en y especificando un intervalo de tiempo de espera distinto de cero.
Close se bloqueará hasta que se envíen estos datos o hasta que expire el tiempo de espera especificado. Si establece DontLingerfalse
en y especifica un intervalo de tiempo de espera cero, Close libera la conexión y descarta automáticamente los datos en cola salientes.
Nota
Para establecer la opción de DontLinger socket en , cree un LingerOption, establezca la propiedad true
habilitada en y establezca la LingerTime propiedad en el período de tiempo de espera false
deseado. Úselo LingerOption junto con la opción de DontLinger socket para llamar al SetSocketOption método .
Nota
Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.