Socket.Shutdown(SocketShutdown) 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í.
Zakáže odesílání a přijímání na Socket.
public:
void Shutdown(System::Net::Sockets::SocketShutdown how);
public void Shutdown (System.Net.Sockets.SocketShutdown how);
member this.Shutdown : System.Net.Sockets.SocketShutdown -> unit
Public Sub Shutdown (how As SocketShutdown)
Parametry
- how
- SocketShutdown
Jedna z SocketShutdown hodnot, která určuje operaci, která už nebude povolena.
Výjimky
Při pokusu o přístup k soketu došlo k chybě.
Byl Socket zavřený.
Příklady
Následující příklad kódu používá Shutdown k zakázání .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
Při použití připojení orientovaného Socketna připojení vždy volejte metodu Shutdown před zavřením Socket. Tím se zajistí, že se v připojeném soketu odešlou a přijímají všechna data před jeho zavření.
Voláním Close metody uvolněte všechny spravované a nespravované prostředky přidružené k Socket. Nepokoušejte se znovu použít Socket po zavření.
Následující tabulka uvádí hodnoty výčtu SocketShutdown , které jsou platné pro how
parametr.
Hodnota | Popis |
---|---|
Odeslat | Zakažte odesílání pro tento .Socket |
Přijmout | Zakažte příjem u tohoto Socket. |
Obojí | Zakažte odesílání i příjem na tomto Socketzařízení . |
Nastavení how
na Send určuje, že další volání nebudou Send povolena. Pokud používáte bez Socketpřipojení , nebude mít zadání Send žádný vliv.
Nastavení how
na Receive určuje, že další volání nebudou Receive povolena. To nemá žádný vliv na nižší vrstvy protokolu. Pokud používáte protokol orientovaný na připojení, připojení se ukončí, pokud po volání služby existuje kterákoli Shutdown z následujících podmínek:
Data jsou v příchozí síťové vyrovnávací paměti čekající na přijetí.
Přišlo další data.
Pokud používáte protokol bez připojení, datagramy se přijmou a zadají do fronty. Pokud ale není k dispozici žádné místo ve vyrovnávací paměti pro další příchozí datagramy, budou zahozeny a odesílateli se nevrátí žádná chyba. Použití Shutdown v bezpojení Socket se nedoporučuje.
Nastavení how
pro Both zakázání odesílání i přijímání, jak je popsáno výše.
Poznámka
Pokud se vám při volání Shutdown metody zobrazíSocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Jakmile tento kód získáte, projděte si podrobný popis chyby v dokumentaci k rozhraní API windows Sockets verze 2 .
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.