Socket.BeginDisconnect(Boolean, AsyncCallback, Object) Metoda

Definicja

Rozpoczyna żądanie asynchroniczne, aby odłączyć się od zdalnego punktu końcowego.

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

true jeśli to gniazdo można ponownie użyć po zamknięciu połączenia; w przeciwnym razie , false.

callback
AsyncCallback

Delegat AsyncCallback .

state
Object

Obiekt zawierający informacje o stanie dla tego żądania.

Zwraca

IAsyncResult Obiekt, który odwołuje się do operacji asynchronicznej.

Wyjątki

Socket Obiekt został zamknięty.

.NET Framework i .NET 5 i starsze tylko: wystąpił błąd podczas próby uzyskania dostępu do gniazda.

Uwagi

Ważne

Jest to interfejs API zgodności. Nie zalecamy używania metod APM (Begin* i End*) do nowego programowania. Zamiast tego należy użyć Taskodpowiedników opartych na protokole .

Jeśli używasz protokołu zorientowanego na połączenie, możesz wywołać BeginDisconnect metodę w celu zainicjowania odłączenia od zdalnego punktu końcowego. Jeśli reuseSocket jest to true, możesz ponownie użyć gniazda.

Możesz przekazać wywołanie zwrotne implementujące AsyncCallback polecenie , BeginDisconnect aby otrzymywać powiadomienia o zakończeniu operacji rozłączania. Należy pamiętać, że jeśli bazowy stos sieciowy ukończy operację synchronicznie, wywołanie zwrotne może zostać wykonane w tekście podczas wywołania metody BeginDisconnect. W takim przypadku CompletedSynchronously właściwość zwrócona IAsyncResult zostanie ustawiona na wartość , aby wskazać true , że metoda została ukończona synchronicznie. AsyncState Użyj właściwości obiektu , IAsyncResult aby uzyskać obiekt stanu przekazany do BeginDisconnect metody.

Operacja musi zostać ukończona BeginDisconnect przez wywołanie EndDisconnect metody . Zazwyczaj metoda jest wywoływana przez podanego AsyncCallback delegata. EndDisconnect zablokuje wątek wywołujący do momentu ukończenia operacji.

Uwaga

Jeśli wystąpi SocketException wyjątek, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod błędu.

Uwaga

Ten element członkowski generuje informacje ze śledzenia pod warunkiem włączenia funkcji śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .NET Framework.

Dotyczy