Socket.Close Socket.Close Socket.Close Socket.Close Method

Definición

Cierra la conexión Socket y libera todos los recursos asociados.Closes the Socket connection and releases all associated resources.

Sobrecargas

Close() Close() Close() Close()

Cierra la conexión Socket y libera todos los recursos asociados.Closes the Socket connection and releases all associated resources.

Close(Int32) Close(Int32) Close(Int32) 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.Closes the Socket connection and releases all associated resources with a specified timeout to allow queued data to be sent.

Close() Close() Close() Close()

Cierra la conexión Socket y libera todos los recursos asociados.Closes the Socket connection and releases all associated resources.

public:
 void Close();
public void Close ();
member this.Close : unit -> unit
Public Sub Close ()

Ejemplos

El siguiente código en el ejemplo se cierra un Socket.The following code example closes a Socket.

aSocket->Shutdown( SocketShutdown::Both );
aSocket->Close();
if ( aSocket->Connected )
{
   Console::WriteLine( "Winsock error: {0}", Convert::ToString(
      System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
aSocket.Shutdown(SocketShutdown.Both);
aSocket.Close();
    aSocket.Shutdown(SocketShutdown.Both)
    aSocket.Close()

End Sub 'SocketClose

Comentarios

El Close método cierra la conexión del host remoto y las versiones todos los recursos administrados y asociados con el Socket.The Close method closes the remote host connection and releases all managed and unmanaged resources associated with the Socket. Al cerrarse, el Connected propiedad está establecida en false.Upon closing, the Connected property is set to false.

Para protocolos orientados a conexiones, se recomienda que llame Shutdown antes de llamar a la Close método.For connection-oriented protocols, it is recommended that you call Shutdown before calling the Close method. Esto garantiza que todos los datos se envía y recibe en el socket conectado antes de cerrarse.This ensures that all data is sent and received on the connected socket before it is closed.

Si necesita llamar a Close sin llamar primero a Shutdown, puede asegurarse de que los datos en cola para transmisión de salida que se enviará al establecer el DontLinger Socket opción false y especificando un intervalo de tiempo de espera distinto de cero.If you need to call Close without first calling Shutdown, you can ensure that data queued for outgoing transmission will be sent by setting the DontLingerSocket option to false and specifying a non-zero time-out interval. Close a continuación, se bloqueará hasta que estos datos se envían o hasta que expire el tiempo de espera especificado.Close will then block until this data is sent or until the specified time-out expires. Si establece DontLinger a false y especifique un intervalo de cero tiempo de espera, Close libera la conexión y descarta automáticamente los datos en cola de salida.If you set DontLinger to false and specify a zero time-out interval, Close releases the connection and automatically discards outgoing queued data.

Nota

Para establecer el DontLinger opción de socket false, cree un LingerOption, establezca la propiedad habilitada en truey establezca el LingerTime propiedad para el período de tiempo de espera deseado.To set the DontLinger socket option to false, create a LingerOption, set the enabled property to true, and set the LingerTime property to the desired time out period. Use esta LingerOption junto con el DontLinger socket opción para llamar a la SetSocketOption método.Use this LingerOption along with the DontLinger socket option to call the SetSocketOption method.

Nota

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación.This member outputs trace information when you enable network tracing in your application. Para obtener más información, consulte seguimiento de red en .NET Framework.For more information, see Network Tracing in the .NET Framework.

Consulte también:

Close(Int32) Close(Int32) Close(Int32) 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.Closes the Socket connection and releases all associated resources with a specified timeout to allow queued data to be sent.

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

Espere hasta timeout segundos para enviar los datos restantes y, después, cierre el socket.Wait up to timeout seconds to send any remaining data, then close the socket.

Ejemplos

El ejemplo de código siguiente muestra cómo cerrar una Socket.The following code example demonstrates how to close a Socket.

aSocket->Shutdown( SocketShutdown::Both );
aSocket->Close();
if ( aSocket->Connected )
{
   Console::WriteLine( "Winsock error: {0}", Convert::ToString(
      System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
aSocket.Shutdown(SocketShutdown.Both);
aSocket.Close();
    aSocket.Shutdown(SocketShutdown.Both)
    aSocket.Close()

End Sub 'SocketClose

Comentarios

El Close método cierra la conexión del host remoto y las versiones todos los recursos administrados y asociados con el Socket.The Close method closes the remote host connection and releases all managed and unmanaged resources associated with the Socket. Al cerrarse, el Connected propiedad está establecida en false.Upon closing, the Connected property is set to false.

Para protocolos orientados a conexiones, se recomienda que llame Shutdown antes de llamar a Close.For connection-oriented protocols, it is recommended that you call Shutdown before calling Close. Esto garantiza que todos los datos se envía y recibe en el socket conectado antes de cerrarse.This ensures that all data is sent and received on the connected socket before it is closed.

Si necesita llamar a Close sin llamar primero a Shutdown, puede asegurarse de que los datos en cola para transmisión de salida que se enviará al establecer el DontLinger opción false y especificando un intervalo de tiempo de espera distinto de cero.If you need to call Close without first calling Shutdown, you can ensure that data queued for outgoing transmission will be sent by setting the DontLinger option to false and specifying a non-zero time-out interval. Close a continuación, se bloqueará hasta que estos datos se envían o hasta que expire el tiempo de espera especificado.Close will then block until this data is sent or until the specified time-out expires. Si establece DontLinger a false y especifique un intervalo de cero tiempo de espera, Close libera la conexión y descarta automáticamente los datos en cola de salida.If you set DontLinger to false and specify a zero time-out interval, Close releases the connection and automatically discards outgoing queued data.

Nota

Para establecer el DontLinger opción de socket false, cree un LingerOption, establezca la propiedad habilitada en truey establezca el LingerTime propiedad en el tiempo de espera.To set the DontLinger socket option to false, create a LingerOption, set the enabled property to true, and set the LingerTime property to the desired time-out period. Use esta LingerOption junto con el DontLinger socket opción para llamar a la SetSocketOption método.Use this LingerOption along with the DontLinger socket option to call the SetSocketOption method.

Nota

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación.This member outputs trace information when you enable network tracing in your application. Para obtener más información, consulte seguimiento de red en .NET Framework.For more information, see Network Tracing in the .NET Framework.

Consulte también:

Se aplica a