Sdílet prostřednictvím


Socket.BeginDisconnect(Boolean, AsyncCallback, Object) Metoda

Definice

Zahájí asynchronní požadavek, který se odpojí od vzdáleného koncového bodu.

public:
 IAsyncResult ^ BeginDisconnect(bool reuseSocket, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginDisconnect(bool reuseSocket, AsyncCallback? callback, object? state);
public IAsyncResult BeginDisconnect(bool reuseSocket, AsyncCallback callback, object state);
member this.BeginDisconnect : bool * AsyncCallback * obj -> IAsyncResult
Public Function BeginDisconnect (reuseSocket As Boolean, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

reuseSocket
Boolean

truelze-li tento soket znovu použít po uzavření připojení; v opačném případě . false

callback
AsyncCallback

Delegát.AsyncCallback

state
Object

Objekt, který obsahuje informace o stavu pro tento požadavek.

Návraty

Objekt IAsyncResult , který odkazuje na asynchronní operaci.

Výjimky

Objekt Socket byl uzavřen.

Pouze rozhraní .NET Framework a .NET 5 a starší: Při pokusu o přístup k soketu došlo k chybě.

Poznámky

Důležité

Toto je rozhraní API pro kompatibilitu. Pro nový vývoj nedoporučujeme používat metody APM (Begin* a End*). Místo toho použijte ekvivalenty založené na Taskzákladech.

Pokud používáte protokol orientovaný na připojení, můžete volat metodu BeginDisconnect , která zahájí odpojení od vzdáleného koncového bodu. Pokud reuseSocket ano true, můžete soket znovu použít.

Můžete předat zpětné volání, které implementuje AsyncCallbackBeginDisconnect , aby bylo možné dostávat oznámení o dokončení operace odpojení. Všimněte si, že pokud podkladový síťový zásobník dokončí operaci synchronně, může být zpětné volání spuštěno přímo během volání BeginDisconnect. V tomto případě bude vlastnost vrácena CompletedSynchronously nastavena tak, aby IAsyncResult indikovat, true že metoda byla dokončena synchronně. AsyncState Použijte vlastnost IAsyncResult k získání objektu stavu předaného metoděBeginDisconnect.

Operace BeginDisconnect musí být dokončena voláním EndDisconnect metody. Metoda je obvykle vyvolána zadaným AsyncCallback delegátem. EndDisconnect zablokuje volající vlákno, dokud se operace nedokončila.

Poznámka:

Pokud se zobrazí SocketException výjimka, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.

Poznámka:

Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro