Sdílet prostřednictvím


Socket.Close Metoda

Definice

Socket Ukončí připojení a uvolní všechny přidružené prostředky.

Přetížení

Close()

Socket Ukončí připojení a uvolní všechny přidružené prostředky.

Close(Int32)

Socket Ukončí připojení a uvolní všechny přidružené prostředky se zadaným časovým limitem, aby bylo možné odesílat data zařazená do fronty.

Close()

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Socket Ukončí připojení a uvolní všechny přidružené prostředky.

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

Příklady

Následující příklad kódu zavře 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

Poznámky

Metoda Close ukončí připojení vzdáleného hostitele a uvolní všechny spravované a nespravované prostředky přidružené k Socket. Po zavření Connected se vlastnost nastaví na false.

U protokolů orientovaných na připojení se doporučuje před voláním Close metody volatShutdown. Tím se zajistí, že se všechna data odešlou a přijímají na připojeném soketu před tím, než se zavřou.

Pokud potřebujete volat Close bez prvního volání Shutdown, můžete zajistit, aby se data zařazená do fronty pro odchozí přenos odesílala nastavením DontLingerSocket možnosti na false a zadáním nenulového intervalu časového limitu. Close pak bude blokovat, dokud nebudou tato data odeslána nebo dokud nevyprší zadaný časový limit. Pokud nastavíte DontLinger a false zadáte nulový interval časového limitu, Close uvolní připojení a automaticky zahodí odchozí data zařazená do fronty.

Poznámka

Pokud chcete nastavit možnost soketu DontLinger na false, vytvořte LingerOption, nastavte vlastnost povoleno na truea nastavte LingerTime vlastnost na požadované období časového limitu. LingerOption Tuto možnost použijte spolu s možností soketu DontLingerSetSocketOption k volání metody .

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Viz také

Platí pro

Close(Int32)

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Socket Ukončí připojení a uvolní všechny přidružené prostředky se zadaným časovým limitem, aby bylo možné odesílat data zařazená do fronty.

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

Parametry

timeout
Int32

Počkejte až na timeout milisekundy, než se odešlou zbývající data, a pak soket zavřete.

Příklady

Následující příklad kódu ukazuje, jak zavřít 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

Poznámky

Metoda Close ukončí připojení vzdáleného hostitele a uvolní všechny spravované a nespravované prostředky přidružené k Socket. Po zavření Connected se vlastnost nastaví na false.

U protokolů orientovaných na připojení se doporučuje volat Shutdown před voláním Closemetody . Tím se zajistí, že se všechna data odešlou a přijímají na připojeném soketu před tím, než se zavřou.

Pokud potřebujete volat Close bez prvního volání Shutdown, můžete zajistit, aby se data zařazená do fronty pro odchozí přenos odesílala nastavením DontLinger možnosti na false a zadáním nenulového intervalu časového limitu. Close pak bude blokovat, dokud nebudou tato data odeslána nebo dokud nevyprší zadaný časový limit. Pokud nastavíte DontLinger a false zadáte nulový interval časového limitu, Close uvolní připojení a automaticky zahodí odchozí data zařazená do fronty.

Poznámka

Pokud chcete nastavit možnost soketu DontLinger na false, vytvořte LingerOption, nastavte vlastnost enabled na truea nastavte LingerTime vlastnost na požadované časové období. LingerOption Tuto možnost použijte spolu s možností soketu DontLingerSetSocketOption k volání metody .

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Viz také

Platí pro