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 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 true
a 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 true
a 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.