Socket.EndReceive 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
보류 중인 비동기 읽기를 끝냅니다.
오버로드
EndReceive(IAsyncResult) |
보류 중인 비동기 읽기를 끝냅니다. |
EndReceive(IAsyncResult, SocketError) |
보류 중인 비동기 읽기를 끝냅니다. |
EndReceive(IAsyncResult)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
보류 중인 비동기 읽기를 끝냅니다.
public:
int EndReceive(IAsyncResult ^ asyncResult);
public int EndReceive (IAsyncResult asyncResult);
member this.EndReceive : IAsyncResult -> int
Public Function EndReceive (asyncResult As IAsyncResult) As Integer
매개 변수
- asyncResult
- IAsyncResult
이 비동기 작업에 대한 상태 정보 및 사용자 정의 데이터를 저장하는 IAsyncResult입니다.
반환
받은 바이트 수입니다.
예외
asyncResult
이(가) null
인 경우
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) 메서드를 호출했지만 asyncResult
가 반환되지 않은 경우
EndReceive(IAsyncResult)가 비동기 읽기를 위해 이미 호출된 경우
.NET Framework, .NET Core 및 .NET 5-6만 해당: 가 Socket 닫혔습니다.
설명
중요
호환성 API입니다. 새 개발에 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task
를 사용합니다.
EndReceive 는 에서 시작한 작업을 완료합니다 BeginReceive. 일치하는 BeginReceive 호출로 IAsyncResult 만든 을 전달해야 합니다.
메서드는 EndReceive 데이터를 사용할 수 있을 때까지 차단됩니다. 연결 없는 프로토콜을 사용하는 경우 는 EndReceive 들어오는 네트워크 버퍼에서 사용할 수 있는 첫 번째 큐에 추가된 데이터그램을 읽습니다. 연결 지향 프로토콜을 사용하는 경우 메서드는 메서드의 EndReceive 매개 변수에 지정한 바이트 수까지 사용할 수 있는 size
만큼의 BeginReceive 데이터를 읽습니다. 원격 호스트가 메서드와의 Shutdown 연결을 종료 Socket 하고 사용 가능한 모든 데이터를 받은 EndReceive 경우 메서드는 즉시 완료되고 0바이트를 반환합니다.
참고
를 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
지정된 스레드에서 시작한 모든 I/O는 해당 스레드가 종료될 때 취소됩니다. 작업이 완료되기 전에 스레드가 종료되면 보류 중인 비동기 작업이 실패할 수 있습니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
추가 정보
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
적용 대상
EndReceive(IAsyncResult, SocketError)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
보류 중인 비동기 읽기를 끝냅니다.
public:
int EndReceive(IAsyncResult ^ asyncResult, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int EndReceive (IAsyncResult asyncResult, out System.Net.Sockets.SocketError errorCode);
member this.EndReceive : IAsyncResult * SocketError -> int
Public Function EndReceive (asyncResult As IAsyncResult, ByRef errorCode As SocketError) As Integer
매개 변수
- asyncResult
- IAsyncResult
이 비동기 작업에 대한 상태 정보 및 사용자 정의 데이터를 저장하는 IAsyncResult입니다.
- errorCode
- SocketError
소켓 오류를 저장하는 SocketError 개체입니다.
반환
받은 바이트 수입니다.
예외
asyncResult
이(가) null
인 경우
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) 메서드를 호출했지만 asyncResult
가 반환되지 않은 경우
EndReceive(IAsyncResult)가 비동기 읽기를 위해 이미 호출된 경우
.NET Framework, .NET Core 및 .NET 5-6만 해당: 가 Socket 닫혔습니다.
설명
중요
호환성 API입니다. 새 개발에 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task
를 사용합니다.
EndReceive 는 에서 시작한 작업을 완료합니다 BeginReceive. 일치하는 BeginReceive 호출로 IAsyncResult 만든 을 전달해야 합니다.
메서드는 EndReceive 데이터를 사용할 수 있을 때까지 차단됩니다. 연결 없는 프로토콜을 사용하는 경우 는 EndReceive 들어오는 네트워크 버퍼에서 사용할 수 있는 첫 번째 큐에 추가된 데이터그램을 읽습니다. 연결 지향 프로토콜을 사용하는 경우 메서드는 메서드의 EndReceive 매개 변수에 지정한 바이트 수까지 사용할 수 있는 size
만큼의 BeginReceive 데이터를 읽습니다. 원격 호스트가 메서드와의 Shutdown 연결을 종료 Socket 하고 사용 가능한 모든 데이터를 받은 EndReceive 경우 메서드는 즉시 완료되고 0바이트를 반환합니다.
참고
를 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
지정된 스레드에서 시작한 모든 I/O는 해당 스레드가 종료될 때 취소됩니다. 작업이 완료되기 전에 스레드가 종료되면 보류 중인 비동기 작업이 실패할 수 있습니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
추가 정보
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
적용 대상
.NET