다음을 통해 공유


Socket.EndSendTo(IAsyncResult) 메서드

정의

특정 위치로의 보류 중인 비동기 보내기를 끝냅니다.

public:
 int EndSendTo(IAsyncResult ^ asyncResult);
public int EndSendTo (IAsyncResult asyncResult);
member this.EndSendTo : IAsyncResult -> int
Public Function EndSendTo (asyncResult As IAsyncResult) As Integer

매개 변수

asyncResult
IAsyncResult

이 비동기 작업에 대한 상태 정보 및 사용자 정의 데이터를 저장하는 IAsyncResult입니다.

반환

성공적이면 보낸 바이트 수이고, 그렇지 않으면 잘못된 Socket 오류입니다.

예외

asyncResult이(가) null인 경우

BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) 메서드를 호출했지만 asyncResult가 반환되지 않은 경우

EndSendTo(IAsyncResult)가 비동기 보내기를 위해 이미 호출된 경우

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

또는

.NET 7 이상만 해당: 가 Socket 닫혔습니다.

.NET Framework, .NET Core 및 .NET 5-6만 해당: 가 Socket 닫혔습니다.

설명

중요

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

EndSendTo 에서 시작한 BeginSendTo작업을 완료합니다. 일치하는 BeginSendTo 호출로 만든 를 IAsyncResult 전달해야 합니다.

연결 없는 프로토콜 EndSendTo 을 사용하는 경우 는 데이터그램이 전송될 때까지 차단됩니다. 연결 지향 프로토콜 EndSendTo 을 사용하는 경우 요청된 바이트 수가 전송될 때까지 가 차단됩니다. 보내는 데이터가 네트워크에 즉시 표시된다는 보장은 없습니다. 네트워크 효율성을 높이기 위해 기본 시스템은 상당한 양의 발신 데이터가 수집될 때까지 전송을 지연할 수 있습니다. 메서드를 BeginSendTo 성공적으로 완료하면 기본 시스템에 네트워크 전송을 위해 데이터를 버퍼링할 수 있는 공간이 있습니다.

참고

을 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다. 이 코드를 가져온 후 오류에 대한 자세한 설명은 Windows 소켓 버전 2 API 오류 코드 설명서를 참조하세요.

참고

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

적용 대상