UdpClient.EndSend(IAsyncResult) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
보류 중인 비동기 보내기를 끝냅니다.
public:
int EndSend(IAsyncResult ^ asyncResult);
public int EndSend (IAsyncResult asyncResult);
member this.EndSend : IAsyncResult -> int
Public Function EndSend (asyncResult As IAsyncResult) As Integer
매개 변수
- asyncResult
- IAsyncResult
IAsyncResult를 호출할 때 반환되는 BeginSend 개체입니다.
반환
메서드가 성공할 경우 UdpClient에 보낸 바이트 수입니다.
예외
asyncResult이(가) null인 경우
BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) 메서드를 호출했지만 asyncResult가 반환되지 않은 경우
EndSend(IAsyncResult)가 비동기 읽기를 위해 이미 호출된 경우
내부 소켓에 액세스하려고 시도하는 동안 오류가 발생한 경우.
내부 Socket이 닫힌 경우
예제
다음 코드 예제에서는 서버 요청의 비동기 보내기를 완료하는 데 사용합니다 BeginSend .
public:
static bool isMessageSent;
static void SendCallback(IAsyncResult^ asyncResult)
{
UdpClient^ udpClient = (UdpClient^)asyncResult->AsyncState;
Console::WriteLine("number of bytes sent: {0}",
udpClient->EndSend(asyncResult));
isMessageSent = true;
}
public static bool messageSent = false;
public static void SendCallback(IAsyncResult ar)
{
UdpClient u = (UdpClient)ar.AsyncState;
Console.WriteLine($"number of bytes sent: {u.EndSend(ar)}");
messageSent = true;
}
설명
이 메서드는 작업이 완료될 때까지 차단합니다.
이 작업을 동기적으로 수행하려면 메서드를 Send 사용합니다.