Socket.ReceiveFromAsync 메서드

정의

오버로드

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

매개 변수

e
SocketAsyncEventArgs

이 비동기 소켓 작업에 사용할 SocketAsyncEventArgs 개체입니다.

반환

I/O 작업이 보류 중인 경우 true입니다. 작업이 완료되면 e 매개 변수에 대한 Completed 이벤트가 발생합니다.

I/O 작업이 동기적으로 완료된 경우 false입니다. 이 경우에는 e 매개 변수에서 Completed 이벤트가 발생하지 않으며, 메서드 호출이 반환된 직후 매개 변수로 전달된 e 개체를 검사하여 작업 결과를 검색할 수 있습니다.

예외

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)

매개 변수

buffer
Memory<Byte>

받은 데이터의 버퍼입니다.

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)

매개 변수

buffer
Memory<Byte>

받은 데이터의 버퍼입니다.

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)

매개 변수

buffer
Memory<Byte>

받은 데이터의 버퍼입니다.

socketFlags
SocketFlags

데이터를 받을 때 사용할 값의 SocketFlags 비트 조합입니다.

receivedAddress
SocketAddress

SocketAddress 이 메서드가 반환되면 원격 피어의 값으로 업데이트되는 instance.

cancellationToken
CancellationToken

비동기 작업에 신호를 보내는 데 사용될 수 있는 취소 토큰은 취소되어야 합니다.

반환

수신된 바이트 수와 SocketReceiveFromResult 송신 호스트의 엔드포인트를 포함하는 로 완료되는 비동기 작업입니다.

예외

receivedAddress이(가) null인 경우

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

Socket이 닫혔습니다.

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

적용 대상