Socket.Close Metoda

Definice

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

Přetížení

Close()

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

Close(Int32)

Socket Zavře připojení a uvolní všechny přidružené prostředky se zadaným časovým limitem, aby bylo možné odesílat data ve frontě.

Close()

Socket Zavře 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 zavře připojení vzdáleného hostitele a uvolní všechny spravované a nespravované prostředky přidružené k Socket. Při zavření Connected je vlastnost nastavena na false.

Pro protokoly orientované na připojení se doporučuje volat Shutdown před voláním Close metody. Tím zajistíte, že se všechna data posílají a přijímají na připojeném soketu před uzavřením.

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

Poznámka

Chcete-li nastavit možnost soketu DontLinger na false, vytvořit LingerOption, nastavit povolenou vlastnost na truea nastavit LingerTime vlastnost na požadované časové období. LingerOption Tuto možnost použijte spolu s možností soketu DontLinger SetSocketOption 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)

Socket Zavře připojení a uvolní všechny přidružené prostředky se zadaným časovým limitem, aby bylo možné odesílat data ve frontě.

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 a odešlete všechna 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 zavře připojení vzdáleného hostitele a uvolní všechny spravované a nespravované prostředky přidružené k Socket. Při zavření Connected je vlastnost nastavena na false.

Pro protokoly orientované na připojení se doporučuje volat Shutdown před voláním Close. Tím zajistíte, že se všechna data posílají a přijímají na připojeném soketu před uzavřením.

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

Poznámka

Chcete-li nastavit možnost soketu DontLinger na false, vytvořit LingerOption, nastavit povolenou vlastnost na truea nastavit LingerTime vlastnost na požadované časové období. LingerOption Tuto možnost použijte spolu s možností soketu DontLinger SetSocketOption 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