Sdílet prostřednictvím


Socket.ReceiveFromAsync Metoda

Definice

Přetížení

ReceiveFromAsync(SocketAsyncEventArgs)

Začne asynchronně přijímat data ze zadaného síťového zařízení.

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Přijme data a vrátí koncový bod odesílajícího hostitele.

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Přijme data a vrátí koncový bod odesílajícího hostitele.

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Přijme data a vrátí koncový bod odesílajícího hostitele.

ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

Přijme data a vrátí koncový bod odesílajícího hostitele.

ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken)

Přijme datagram do datové vyrovnávací paměti pomocí zadaného SocketFlagsa uloží koncový bod.

ReceiveFromAsync(SocketAsyncEventArgs)

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Začne asynchronně přijímat data ze zadaného síťového zařízení.

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

Parametry

e
SocketAsyncEventArgs

Objekt SocketAsyncEventArgs , který se má použít pro tuto asynchronní soketové operace.

Návraty

true pokud operace V/V čeká na vyřízení. Událost Completed parametru e se vyvolá po dokončení operace.

false pokud se vstupně-výstupní operace dokončila synchronně. V tomto případě událost parametru e nebude vyvolána a e objekt předaný jako parametr může být prozkoumán okamžitě poté, Completed co se volání metody vrátí, aby se načetl výsledek operace.

Výjimky

Hodnota RemoteEndPoint nesmí být null.

Operace soketu již probíhala pomocí objektu SocketAsyncEventArgs zadaného v parametru e .

Při pokusu o přístup k soketu došlo k chybě.

Poznámky

Metoda se ReceiveFromAsync primárně používá k příjmu dat v soketu bez připojení. Místní adresa soketu musí být známá.

Volající musí vlastnost nastavit SocketAsyncEventArgs.RemoteEndPoint na EndPoint stejný typ jako koncový bod vzdáleného hostitele. Vlastnost se aktualizuje při úspěšném přijetí do skutečného vzdáleného koncového bodu.

Vlastnost SocketAsyncEventArgs.SocketFlags parametru e poskytuje poskytovateli služby Windows Sockets další informace o požadavku na čtení. Další informace o použití tohoto parametru najdete v tématu System.Net.Sockets.SocketFlags.

Následující vlastnosti a události na objektu System.Net.Sockets.SocketAsyncEventArgs jsou vyžadovány k úspěšnému volání této metody:

Volající může nastavit SocketAsyncEventArgs.UserToken vlastnost na libovolný objekt stavu uživatele požadovaný před voláním ReceiveFromAsync metody tak, aby informace bylo možné získat v metodě zpětného volání. Pokud zpětné volání potřebuje více informací než jeden objekt, lze vytvořit malou třídu, která bude obsahovat ostatní požadované informace o stavu jako členy.

U soketů orientovaných na zprávy je příchozí zpráva umístěna do vyrovnávací paměti až do celkové velikosti vyrovnávací paměti. Vlastnosti SocketAsyncEventArgs.Count a SocketAsyncEventArgs.Offset určují, kam se data ve vyrovnávací paměti umístí a jaké jsou jejich množství.

U soketů ve stylu datového proudu bajtů se příchozí data ukládají do vyrovnávací paměti, dokud se vyrovnávací paměť nevyplní, připojení se ukončí nebo se nevyčerpají interně uložená data. Vlastnosti SocketAsyncEventArgs.Count a SocketAsyncEventArgs.Offset určují, kam se data ve vyrovnávací paměti umístí a jaké jsou jejich množství.

Viz také

Platí pro

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs

Přijme data a vrátí koncový bod odesílajícího hostitele.

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)

Parametry

buffer
ArraySegment<Byte>

Vyrovnávací paměť pro přijatá data.

remoteEndPoint
EndPoint

Koncový bod stejného typu jako koncový bod vzdáleného hostitele.

Návraty

Asynchronní úloha, která se dokončí s SocketReceiveFromResult počtem přijatých bajtů a koncovým bodem odesílajícího hostitele.

Výjimky

remoteEndPoint je null.

Při pokusu o přístup k soketu došlo k chybě.

Volající v zásobníku volání nemá požadovaná oprávnění.

Platí pro

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs

Přijme data a vrátí koncový bod odesílajícího hostitele.

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)

Parametry

buffer
ArraySegment<Byte>

Vyrovnávací paměť pro přijatá data.

socketFlags
SocketFlags

Bitové kombinace SocketFlags hodnoty, které budou použity při přijímání dat.

remoteEndPoint
EndPoint

Koncový bod stejného typu jako koncový bod vzdáleného hostitele.

Návraty

Asynchronní úloha, která se dokončí s SocketReceiveFromResult počtem přijatých bajtů a koncovým bodem odesílajícího hostitele.

Výjimky

remoteEndPoint je null.

Při pokusu o přístup k soketu došlo k chybě.

Volající v zásobníku volání nemá požadovaná oprávnění.

Platí pro

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs

Přijme data a vrátí koncový bod odesílajícího hostitele.

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)

Parametry

buffer
Memory<Byte>

Vyrovnávací paměť pro přijatá data.

remoteEndPoint
EndPoint

Koncový bod stejného typu jako koncový bod vzdáleného hostitele.

cancellationToken
CancellationToken

Token zrušení, který lze použít k signalizaci asynchronní operace, by měl být zrušen.

Návraty

Asynchronní úloha, která se dokončí s SocketReceiveFromResult počtem přijatých bajtů a koncovým bodem odesílajícího hostitele.

Výjimky

remoteEndPoint je null.

Při pokusu o přístup k soketu došlo k chybě.

Volající v zásobníku volání nemá požadovaná oprávnění.

Token zrušení byl zrušen. Tato výjimka se uloží do vrácené úlohy.

Platí pro

ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs

Přijme data a vrátí koncový bod odesílajícího hostitele.

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)

Parametry

buffer
Memory<Byte>

Vyrovnávací paměť pro přijatá data.

socketFlags
SocketFlags

Bitové kombinace SocketFlags hodnoty, které budou použity při přijímání dat.

remoteEndPoint
EndPoint

Koncový bod stejného typu jako koncový bod vzdáleného hostitele.

cancellationToken
CancellationToken

Token zrušení, který lze použít k signalizaci asynchronní operace, by měl být zrušen.

Návraty

Asynchronní úloha, která se dokončí s SocketReceiveFromResult počtem přijatých bajtů a koncovým bodem odesílajícího hostitele.

Výjimky

remoteEndPoint je null.

Při pokusu o přístup k soketu došlo k chybě.

Volající v zásobníku volání nemá požadovaná oprávnění.

Token zrušení byl zrušen. Tato výjimka se uloží do vrácené úlohy.

Platí pro

ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken)

Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs

Přijme datagram do datové vyrovnávací paměti pomocí zadaného SocketFlagsa uloží koncový bod.

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)

Parametry

buffer
Memory<Byte>

Vyrovnávací paměť pro přijatá data.

socketFlags
SocketFlags

Bitové kombinace SocketFlags hodnot, které se použijí při příjmu dat.

receivedAddress
SocketAddress

Instance SocketAddress , která se aktualizuje s hodnotou vzdáleného partnerského vztahu, když tato metoda vrátí.

cancellationToken
CancellationToken

Token zrušení, který lze použít k signalizaci asynchronní operace, by měl být zrušen.

Návraty

Asynchronní úloha, která se dokončí s SocketReceiveFromResult počtem přijatých bajtů a koncovým bodem odesílajícího hostitele.

Výjimky

receivedAddress je null.

Při pokusu o přístup k soketu došlo k chybě.

Token zrušení byl zrušen. Tato výjimka se uloží do vrácené úlohy.

Platí pro