Socket.Shutdown(SocketShutdown) Metódus

Definíció

Letiltja a küldést és fogadást egy 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)

Paraméterek

how
SocketShutdown

Az egyik SocketShutdown érték, amely meghatározza a többé nem engedélyezett műveletet.

Kivételek

Hiba történt a szoftvercsatorna elérésekor.

A Socket le van zárva.

Példák

Az alábbi példakód a letiltásukra ShutdownszolgálSocket.

try
{
    aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
    aSocket.Close();
}
    Try
        aSocket.Shutdown(SocketShutdown.Both)
    Finally
        aSocket.Close()
    End Try

End Sub

Megjegyzések

Kapcsolatorientált Sockethasználata esetén mindig hívja meg a metódust, Shutdown mielőtt bezárja a Socketelemet. Ez biztosítja, hogy az összes adat a csatlakoztatott szoftvercsatornán legyen elküldve és fogadva a lezárás előtt.

Hívja meg a metódust, Close hogy szabadíts fel minden felügyelt és nem felügyelt erőforrást, amely a Socket. Ne próbálja újra felhasználni a Socket zárás után.

Az alábbi táblázat a SocketShutdown paraméterre érvényes enumerálási how értékeket mutatja be.

Érték Leírás
Küld Tiltsa le a küldést ezen Socketa webhelyen.
Fogadás Tiltsa le a fogadást ezen Socketa webhelyen.
Both Tiltsa le a küldést és a fogadást ezen Socketa webhelyen.

A beállítás how azt Send határozza meg, hogy a Send későbbi hívások nem engedélyezettek. Ha kapcsolat nélküli Socketeszközt használ, a beállításnak Send nincs hatása.

A beállítás how azt Receive határozza meg, hogy a Receive későbbi hívások nem engedélyezettek. Ez nincs hatással az alacsonyabb protokollrétegekre. Ha kapcsolatorientált protokollt használ, a kapcsolat megszakad, ha a következő feltételek valamelyike fennáll a következő hívás Shutdown után:

  • Az adatok a bejövő hálózati pufferben várnak a fogadásra.

  • További adatok érkeztek.

Kapcsolat nélküli protokoll használata esetén a rendszer elfogadja és várólistára állítja a datagramokat. Ha azonban további bejövő datagramok számára nem áll rendelkezésre pufferterület, a rendszer elveti őket, és a rendszer nem ad vissza hibát a feladónak. A kapcsolat nélküli Shutdown használat Socket nem ajánlott.

how A Both fent leírt módon letiltja a küldést és a fogadást is.

Note

Ha a SocketException metódus meghívásakor kap egy hibaüzenetetShutdown, a SocketException.ErrorCode tulajdonság használatával szerezze be az adott hibakódot. A kód beszerzése után tekintse meg a Windows Sockets 2-es verziójának API-hibakódját a hiba részletes leírását.

Note

Ez a tag nyomkövetési adatokat ad ki, amikor engedélyezi a hálózati nyomkövetést az alkalmazásban. További információ: Network Tracing in .NET Framework.

A következőre érvényes:

Lásd még