Socket.EndReceiveMessageFrom 메서드

정의

특정 엔드포인트에서 보류 중인 비동기 읽기를 끝냅니다. 또한 이 메서드는 패킷에 대해 EndReceiveFrom(IAsyncResult, EndPoint)이 제공하는 것보다 많은 정보를 제공합니다.

public:
 int EndReceiveMessageFrom(IAsyncResult ^ asyncResult, System::Net::Sockets::SocketFlags % socketFlags, System::Net::EndPoint ^ % endPoint, [Runtime::InteropServices::Out] System::Net::Sockets::IPPacketInformation % ipPacketInformation);
public int EndReceiveMessageFrom (IAsyncResult asyncResult, ref System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint endPoint, out System.Net.Sockets.IPPacketInformation ipPacketInformation);
member this.EndReceiveMessageFrom : IAsyncResult * SocketFlags * EndPoint * IPPacketInformation -> int
Public Function EndReceiveMessageFrom (asyncResult As IAsyncResult, ByRef socketFlags As SocketFlags, ByRef endPoint As EndPoint, ByRef ipPacketInformation As IPPacketInformation) As Integer

매개 변수

asyncResult
IAsyncResult

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

socketFlags
SocketFlags

받은 패킷에 대한 SocketFlags 값의 비트 조합입니다.

endPoint
EndPoint

소스 EndPoint입니다.

ipPacketInformation
IPPacketInformation

받은 패킷의 IPAddress 및 인터페이스입니다.

반환

Int32

성공할 경우 받은 바이트 수입니다. 실패하면 0을 반환합니다.

예외

asyncResultnull인 경우

또는

endPoint이(가) null인 경우

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

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

Socket이 닫혔습니다.

설명

작업이 완료되지 않은 경우 이 메서드는 작업이 완료될 때까지 차단합니다.

이 작업을 동기적으로 수행하려면 메서드를 ReceiveMessageFrom 사용합니다.

데이터그램이 유니캐스트, 멀티캐스트 또는 브로드캐스트 주소를 사용하여 전송되었는지 확인해야 하는지 검사 ipPacketInformation 합니다.

적용 대상