Socket.Close Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 true
a 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 true
a 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.