Socket.ReceiveFromAsync 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
ReceiveFromAsync(SocketAsyncEventArgs) |
지정된 네트워크 디바이스에서 비동기적으로 데이터를 받기 시작합니다. |
ReceiveFromAsync(ArraySegment<Byte>, EndPoint) |
데이터를 수신하고 송신 호스트의 엔드포인트를 반환합니다. |
ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint) |
데이터를 수신하고 송신 호스트의 엔드포인트를 반환합니다. |
ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken) |
데이터를 수신하고 송신 호스트의 엔드포인트를 반환합니다. |
ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken) |
데이터를 수신하고 송신 호스트의 엔드포인트를 반환합니다. |
ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken) |
지정된 SocketFlags를 사용하여 데이터 버퍼에 데이터그램을 받고 엔드포인트를 저장합니다. |
ReceiveFromAsync(SocketAsyncEventArgs)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
지정된 네트워크 디바이스에서 비동기적으로 데이터를 받기 시작합니다.
public:
bool ReceiveFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveFromAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveFromAsync (e As SocketAsyncEventArgs) As Boolean
매개 변수
이 비동기 소켓 작업에 사용할 SocketAsyncEventArgs 개체입니다.
반환
I/O 작업이 보류 중인 경우 true
입니다. 작업이 완료되면 e
매개 변수에 대한 Completed 이벤트가 발생합니다.
I/O 작업이 동기적으로 완료된 경우 false
입니다. 이 경우에는 e
매개 변수에서 Completed 이벤트가 발생하지 않으며, 메서드 호출이 반환된 직후 매개 변수로 전달된 e
개체를 검사하여 작업 결과를 검색할 수 있습니다.
예외
RemoteEndPoint가 null인 경우
e
매개 변수에 지정된 SocketAsyncEventArgs 개체를 사용하여 소켓 작업이 이미 진행 중인 경우
Socket이 닫혔습니다.
소켓에 액세스하는 동안 오류가 발생했습니다.
설명
메서드는 ReceiveFromAsync 주로 연결 없는 소켓에서 데이터를 수신하는 데 사용됩니다. 소켓의 로컬 주소를 알고 있어야 합니다.
호출자는 속성을 EndPoint 원격 호스트의 엔드포인트와 동일한 형식의 로 설정 SocketAsyncEventArgs.RemoteEndPoint 해야 합니다. 속성은 실제 원격 엔드포인트로 성공적으로 수신될 때 업데이트됩니다.
매개 변수의 e
속성은 SocketAsyncEventArgs.SocketFlags 읽기 요청에 대한 추가 정보를 Window Sockets 서비스 공급자에 제공합니다. 이 매개 변수를 사용하는 방법에 대한 자세한 내용은 를 참조하세요 System.Net.Sockets.SocketFlags.
이 메서드를 성공적으로 호출하려면 개체의 System.Net.Sockets.SocketAsyncEventArgs 다음 속성과 이벤트가 필요합니다.
호출자는 콜백 메서드에서 SocketAsyncEventArgs.UserToken 정보를 검색할 수 있도록 메서드를 호출 ReceiveFromAsync 하기 전에 속성을 원하는 사용자 상태 개체로 설정할 수 있습니다. 콜백에 단일 개체보다 더 많은 정보가 필요한 경우 다른 필수 상태 정보를 멤버로 유지하기 위해 작은 클래스를 만들 수 있습니다.
메시지 지향 소켓의 경우 들어오는 메시지가 버퍼의 총 크기까지 버퍼에 배치됩니다. 및 SocketAsyncEventArgs.Offset 속성은 SocketAsyncEventArgs.Count 버퍼에서 데이터가 배치되는 위치와 데이터 양을 결정합니다.
바이트 스트림 스타일 소켓의 경우 버퍼가 채워지거나, 연결이 닫히거나, 내부적으로 버퍼링된 데이터가 소진될 때까지 들어오는 데이터가 버퍼에 배치됩니다. 및 SocketAsyncEventArgs.Offset 속성은 SocketAsyncEventArgs.Count 버퍼에서 데이터가 배치되는 위치와 데이터 양을 결정합니다.
추가 정보
적용 대상
ReceiveFromAsync(ArraySegment<Byte>, EndPoint)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
데이터를 수신하고 송신 호스트의 엔드포인트를 반환합니다.
public:
System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveFromResult> ^ ReceiveFromAsync(ArraySegment<System::Byte> buffer, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (ArraySegment<byte> buffer, System.Net.EndPoint remoteEndPoint);
member this.ReceiveFromAsync : ArraySegment<byte> * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As ArraySegment(Of Byte), remoteEndPoint As EndPoint) As Task(Of SocketReceiveFromResult)
매개 변수
- buffer
- ArraySegment<Byte>
수신된 데이터의 버퍼입니다.
- remoteEndPoint
- EndPoint
원격 호스트의 엔드포인트와 동일한 형식의 엔드포인트입니다.
반환
수신된 바이트 수와 SocketReceiveFromResult 송신 호스트의 엔드포인트를 포함하는 로 완료되는 비동기 작업입니다.
예외
remoteEndPoint
이(가) null
인 경우
소켓에 액세스하는 동안 오류가 발생했습니다.
Socket이 닫혔습니다.
호출 스택에 있는 호출자에게 필요한 권한이 없는 경우
적용 대상
ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
데이터를 수신하고 송신 호스트의 엔드포인트를 반환합니다.
public:
System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveFromResult> ^ ReceiveFromAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint);
member this.ReceiveFromAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint) As Task(Of SocketReceiveFromResult)
매개 변수
- buffer
- ArraySegment<Byte>
수신된 데이터의 버퍼입니다.
- socketFlags
- SocketFlags
데이터를 받을 때 사용할 SocketFlags 값의 비트 조합입니다.
- remoteEndPoint
- EndPoint
원격 호스트의 엔드포인트와 동일한 형식의 엔드포인트입니다.
반환
수신된 바이트 수와 SocketReceiveFromResult 송신 호스트의 엔드포인트를 포함하는 로 완료되는 비동기 작업입니다.
예외
remoteEndPoint
이(가) null
인 경우
소켓에 액세스하는 동안 오류가 발생했습니다.
Socket이 닫혔습니다.
호출 스택에 있는 호출자에게 필요한 권한이 없는 경우
적용 대상
ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
데이터를 수신하고 송신 호스트의 엔드포인트를 반환합니다.
public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (Memory<byte> buffer, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveFromResult)
매개 변수
- remoteEndPoint
- EndPoint
원격 호스트의 엔드포인트와 동일한 형식의 엔드포인트입니다.
- cancellationToken
- CancellationToken
비동기 작업에 신호를 보내는 데 사용될 수 있는 취소 토큰은 취소되어야 합니다.
반환
수신된 바이트 수와 SocketReceiveFromResult 송신 호스트의 엔드포인트를 포함하는 로 완료되는 비동기 작업입니다.
예외
remoteEndPoint
이(가) null
인 경우
소켓에 액세스하는 동안 오류가 발생했습니다.
Socket이 닫혔습니다.
호출 스택에 있는 호출자에게 필요한 권한이 없는 경우
취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.
적용 대상
ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
데이터를 수신하고 송신 호스트의 엔드포인트를 반환합니다.
public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveFromResult)
매개 변수
- socketFlags
- SocketFlags
데이터를 받을 때 사용할 SocketFlags 값의 비트 조합입니다.
- remoteEndPoint
- EndPoint
원격 호스트의 엔드포인트와 동일한 형식의 엔드포인트입니다.
- cancellationToken
- CancellationToken
비동기 작업에 신호를 보내는 데 사용될 수 있는 취소 토큰은 취소되어야 합니다.
반환
수신된 바이트 수와 SocketReceiveFromResult 송신 호스트의 엔드포인트를 포함하는 로 완료되는 비동기 작업입니다.
예외
remoteEndPoint
이(가) null
인 경우
소켓에 액세스하는 동안 오류가 발생했습니다.
Socket이 닫혔습니다.
호출 스택에 있는 호출자에게 필요한 권한이 없는 경우
취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.
적용 대상
ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
지정된 SocketFlags를 사용하여 데이터 버퍼에 데이터그램을 받고 엔드포인트를 저장합니다.
public System.Threading.Tasks.ValueTask<int> ReceiveFromAsync (Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.SocketAddress receivedAddress, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.SocketAddress * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, receivedAddress As SocketAddress, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
매개 변수
- socketFlags
- SocketFlags
데이터를 받을 때 사용할 값의 SocketFlags 비트 조합입니다.
- receivedAddress
- SocketAddress
SocketAddress 이 메서드가 반환되면 원격 피어의 값으로 업데이트되는 instance.
- cancellationToken
- CancellationToken
비동기 작업에 신호를 보내는 데 사용될 수 있는 취소 토큰은 취소되어야 합니다.
반환
수신된 바이트 수와 SocketReceiveFromResult 송신 호스트의 엔드포인트를 포함하는 로 완료되는 비동기 작업입니다.
예외
receivedAddress
이(가) null
인 경우
소켓에 액세스하는 동안 오류가 발생했습니다.
Socket이 닫혔습니다.
취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.
적용 대상
.NET