Socket.BeginReceiveMessageFrom 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
비동기적으로 지정된 SocketFlags를 사용하여 데이터 버퍼의 특정 위치로 지정된 바이트 수의 데이터를 받고 엔드포인트 및 패킷 정보를 저장하기 시작합니다.
public:
IAsyncResult ^ BeginReceiveMessageFrom(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ % remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceiveMessageFrom (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceiveMessageFrom (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginReceiveMessageFrom : byte[] * int * int * System.Net.Sockets.SocketFlags * EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveMessageFrom (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- offset
- Int32
데이터를 저장하기 위한 buffer
매개 변수의 위치(0부터 시작)입니다.
- size
- Int32
수신 바이트 수입니다.
- socketFlags
- SocketFlags
SocketFlags 값의 비트 조합입니다.
- callback
- AsyncCallback
AsyncCallback 대리자입니다.
- state
- Object
이 요청에 대한 상태 정보를 포함하는 개체입니다.
반환
비동기 읽기를 참조하는 IAsyncResult입니다.
예외
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.
offset
가 0보다 작습니다.
또는
offset
이 buffer
의 길이보다 큽니다.
또는
size
가 0보다 작습니다.
또는
size
가 buffer
의 길이에서 offset
매개 변수 값을 뺀 크기보다 큰 경우
Socket이 닫혔습니다.
설명
중요
호환성 API입니다. 새 개발을 위해 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 에 기반한 Task
등가를 사용합니다.
를 구현하는 콜백을 AsyncCallbackBeginReceiveMessageFrom 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 콜백은 를 호출 BeginReceiveMessageFrom하는 동안 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다. 사용 하 여는 의 AsyncStateIAsyncResult 속성을 메서드에 전달 된 상태 개체를 BeginReceiveMessageFrom 가져옵니다.
메서드를 호출 EndReceiveMessageFrom 하여 비동 BeginReceiveMessageFrom 기 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 AsyncCallback . EndReceiveMessageFrom 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
보류 중인 BeginReceiveMessageFrom를 취소하려면 메서드를 호출합니다 Close .
이 메서드는 매개 변수로 buffer
데이터를 읽고 데이터가 전송되는 원격 호스트 엔드포인트와 수신된 패킷에 대한 정보를 캡처합니다. 이 엔드포인트를 검색하는 방법에 대한 자세한 내용은 을 참조하세요 EndReceiveMessageFrom. 이 메서드는 알 수 없는 호스트 또는 여러 호스트에서 연결 없는 데이터그램을 비동기적으로 수신하려는 경우에 가장 유용합니다.
참고
을 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
적용 대상
.NET