다음을 통해 공유


Socket.DisconnectAsync 메서드

정의

오버로드

DisconnectAsync(SocketAsyncEventArgs)

원격 엔드포인트와의 연결을 끊는 비동기 요청을 시작합니다.

DisconnectAsync(Boolean, CancellationToken)

원격 호스트에서 연결된 소켓의 연결을 끊습니다.

DisconnectAsync(SocketAsyncEventArgs)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

원격 엔드포인트와의 연결을 끊는 비동기 요청을 시작합니다.

public:
 bool DisconnectAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool DisconnectAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.DisconnectAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function DisconnectAsync (e As SocketAsyncEventArgs) As Boolean

매개 변수

e
SocketAsyncEventArgs

이 비동기 소켓 작업에 사용할 SocketAsyncEventArgs 개체입니다.

반환

I/O 작업이 보류 중인 경우 true입니다. 작업이 완료되면 e 매개 변수에 대한 Completed 이벤트가 발생합니다.

I/O 작업이 동기적으로 완료된 경우 false입니다. 이 경우에는 e 매개 변수에서 Completed 이벤트가 발생하지 않으며, 메서드 호출이 반환된 직후 매개 변수로 전달된 e 개체를 검사하여 작업 결과를 검색할 수 있습니다.

예외

e 매개 변수가 null인 경우

e 매개 변수에 지정된 SocketAsyncEventArgs 개체를 사용하여 소켓 작업이 이미 진행 중인 경우

Socket이 닫혔습니다.

소켓에 액세스하는 동안 오류가 발생했습니다.

설명

연결 지향 프로토콜을 사용하는 경우 메서드를 DisconnectAsync 호출하면 원격 엔드포인트와의 연결이 끊어지게 됩니다. 매개 변수에서 를 e 로 설정 SocketAsyncEventArgs.DisconnectReuseSockettrue 하면 소켓을 다시 사용할 수 있습니다.

추가 정보

적용 대상

DisconnectAsync(Boolean, CancellationToken)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs

원격 호스트에서 연결된 소켓의 연결을 끊습니다.

public System.Threading.Tasks.ValueTask DisconnectAsync (bool reuseSocket, System.Threading.CancellationToken cancellationToken = default);
member this.DisconnectAsync : bool * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function DisconnectAsync (reuseSocket As Boolean, Optional cancellationToken As CancellationToken = Nothing) As ValueTask

매개 변수

reuseSocket
Boolean

연결이 끊긴 후 소켓을 다시 사용할 수 있는지 여부를 나타냅니다.

cancellationToken
CancellationToken

비동기 작업을 취소하는 데 사용할 수 있는 취소 토큰입니다.

반환

소켓의 연결이 끊어질 때 완료되는 비동기 작업입니다.

예외

Socket 개체가 닫힌 경우

소켓에 액세스하는 동안 오류가 발생했습니다.

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

설명

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 태스크에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Disconnect(Boolean)된 예외를 참조하세요.

적용 대상