Compartir a través de


Socket.Close Método

Definición

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 truehabilitada en y establezca la LingerTime propiedad en el período de tiempo de espera falsedeseado. Ú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 truehabilitada en y establezca la LingerTime propiedad en el período de tiempo de espera falsedeseado. Ú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