다음을 통해 공유


Socket.BeginDisconnect(Boolean, AsyncCallback, Object) 메서드

정의

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

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

매개 변수

reuseSocket
Boolean

연결을 닫은 다음 이 소켓을 다시 사용할 수 있으면 true이고, 그렇지 않으면 false입니다.

callback
AsyncCallback

AsyncCallback 대리자입니다.

state
Object

이 요청에 대한 상태 정보를 포함하는 개체입니다.

반환

비동기 작업을 참조하는 IAsyncResult 개체입니다.

예외

Socket 개체가 닫힌 경우

.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.

설명

중요

호환성 API입니다. 새 개발에 APM (Begin*End*) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task를 사용합니다.

연결 지향 프로토콜을 사용하는 경우 메서드를 호출 BeginDisconnect 하여 원격 엔드포인트에서 연결 끊기를 시작할 수 있습니다. 이 이truereuseSocket 소켓을 다시 사용할 수 있습니다.

연결 끊기 작업의 완료에 대한 알림을 받기 위해 를 구현 AsyncCallbackBeginDisconnect 하는 콜백을 전달할 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginDisconnect하는 동안 인라인으로 콜백이 실행될 수 있습니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true 되어 메서드가 동기적으로 완료되었음을 나타냅니다. AsyncState 의 속성을 IAsyncResult 사용하여 메서드에 전달된 상태 개체를 BeginDisconnect 가져옵니다.

메서드를 BeginDisconnect 호출 EndDisconnect 하여 작업을 완료해야 합니다. 일반적으로 메서드는 제공된 대리자에서 호출됩니다 AsyncCallback . EndDisconnect 는 작업이 완료될 때까지 호출 스레드를 차단합니다.

참고

예외가 SocketException 표시되면 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.

참고

애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.

적용 대상