Поделиться через


Socket.Close Метод

Определение

Socket Закрывает подключение и освобождает все связанные ресурсы.

Перегрузки

Имя Описание
Close()

Socket Закрывает подключение и освобождает все связанные ресурсы.

Close(Int32)

Socket Закрывает подключение и освобождает все связанные ресурсы с заданным временем ожидания, чтобы разрешить отправку данных в очереди.

Close()

Исходный код:
Socket.cs
Исходный код:
Socket.cs
Исходный код:
Socket.cs
Исходный код:
Socket.cs
Исходный код:
Socket.cs

Socket Закрывает подключение и освобождает все связанные ресурсы.

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

Примеры

В следующем примере кода закрывается Socket.

try
{
    aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
    aSocket.Close();
}
    Try
        aSocket.Shutdown(SocketShutdown.Both)
    Finally
        aSocket.Close()
    End Try

End Sub

Комментарии

Метод Close закрывает подключение удаленного узла и освобождает все управляемые и неуправляемые ресурсы, связанные с ним Socket. При закрытии Connected для свойства задано значение false.

Для протоколов, ориентированных на подключение, рекомендуется вызывать Shutdown перед вызовом Close метода. Это гарантирует, что все данные отправляются и получаются на подключенном сокете перед закрытием.

Если необходимо вызвать Close без первого вызова Shutdown, вы можете убедиться, что данные, в очереди для исходящей передачи, будут отправлены, задав DontLingerSocket параметр и false указав интервал времени ожидания, отличный от нуля. Close Затем будет блокироваться до отправки этих данных или до истечения указанного времени ожидания. Если задано DontLingerfalse значение и задан нулевой интервал времени ожидания, Close выпустите подключение и автоматически удаляет исходящие данные очереди.

Замечание

Чтобы задать параметр сокетаDontLinger, создайтеLingerOption, задайте для свойства falsetrueвключено значение и задайте LingerTime для свойства нужный период времени ожидания. Используйте это LingerOption вместе с параметром сокета SetSocketOptionDontLinger для вызова метода.

Замечание

Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе "Трассировка сети" в .NET Framework.

См. также раздел

Применяется к

Close(Int32)

Исходный код:
Socket.cs
Исходный код:
Socket.cs
Исходный код:
Socket.cs
Исходный код:
Socket.cs
Исходный код:
Socket.cs

Socket Закрывает подключение и освобождает все связанные ресурсы с заданным временем ожидания, чтобы разрешить отправку данных в очереди.

public:
 void Close(int timeout);
public void Close(int timeout);
member this.Close : int -> unit
Public Sub Close (timeout As Integer)

Параметры

timeout
Int32

Подождите до timeout миллисекунда, чтобы отправить оставшиеся данные, а затем закройте сокет.

Примеры

В следующем примере кода показано, как закрыть Socketобъект.

try
{
    aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
    aSocket.Close();
}
    Try
        aSocket.Shutdown(SocketShutdown.Both)
    Finally
        aSocket.Close()
    End Try

End Sub

Комментарии

Метод Close закрывает подключение удаленного узла и освобождает все управляемые и неуправляемые ресурсы, связанные с ним Socket. При закрытии Connected для свойства задано значение false.

Для протоколов, ориентированных на подключение, рекомендуется вызывать перед вызовом ShutdownClose. Это гарантирует, что все данные отправляются и получаются на подключенном сокете перед закрытием.

Если необходимо вызвать Close без первого вызова Shutdown, вы можете убедиться, что данные, в очереди для исходящей передачи, будут отправлены, задав DontLinger параметр и false указав интервал времени ожидания, отличный от нуля. Close Затем будет блокироваться до отправки этих данных или до истечения указанного времени ожидания. Если задано DontLingerfalse значение и задан нулевой интервал времени ожидания, Close выпустите подключение и автоматически удаляет исходящие данные очереди.

Замечание

Чтобы задать параметр сокетаDontLinger, создайте LingerOption, задайте для свойства falsetrueвключено значение и задайте LingerTime для свойства нужный период времени ожидания. Используйте это LingerOption вместе с параметром сокета SetSocketOptionDontLinger для вызова метода.

Замечание

Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе "Трассировка сети" в .NET Framework.

См. также раздел

Применяется к