Udostępnij za pośrednictwem


Socket.EndDisconnect(IAsyncResult) Metoda

Definicja

Kończy oczekujące żądanie asynchronicznego rozłączenia.

public:
 void EndDisconnect(IAsyncResult ^ asyncResult);
public void EndDisconnect (IAsyncResult asyncResult);
member this.EndDisconnect : IAsyncResult -> unit
Public Sub EndDisconnect (asyncResult As IAsyncResult)

Parametry

asyncResult
IAsyncResult

IAsyncResult Obiekt, który przechowuje informacje o stanie i wszystkie dane zdefiniowane przez użytkownika dla tej operacji asynchronicznej.

Wyjątki

tylko .NET Framework, .NET Core i .NET 5-6: Socket została zamknięta.

asyncResult to null.

asyncResult nie został zwrócony przez wywołanie BeginDisconnect(Boolean, AsyncCallback, Object) metody .

EndDisconnect(IAsyncResult) wcześniej wywoływano połączenie asynchroniczne.

Wystąpił błąd podczas próby uzyskania dostępu do gniazda.

-lub-

Tylko platforma .NET 7+ : Socket została zamknięta.

Upłynął limit czasu żądania rozłączenia.

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 .

EndDisconnect kończy operację rozpoczętą przez BeginDisconnect. Musisz przekazać IAsyncResult utworzony przez odpowiednie BeginDisconnect wywołanie. EndDisconnect zablokuje wątek wywołujący do momentu ukończenia operacji.

Uwaga

Jeśli zostanie wyświetlony element SocketException, 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