Sdílet prostřednictvím


Socket.ReceiveFromAsync Metoda

Definice

Přetížení

Name Description
ReceiveFromAsync(SocketAsyncEventArgs)

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

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Přijímá data a vrací koncový bod odesílajícího hostitele.

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Přijímá data a vrací koncový bod odesílajícího hostitele.

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Přijímá data a vrací koncový bod odesílajícího hostitele.

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

Přijímá data a vrací koncový bod odesílajícího hostitele.

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

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

ReceiveFromAsync(SocketAsyncEventArgs)

Zdroj:
Socket.cs
Zdroj:
Socket.cs
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í operaci soketu.

Návraty

true pokud operace vstupně-výstupní operace čeká na vyřízení. Událost Completed parametru e bude vyvolána po dokončení operace.

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

Výjimky

Hodnota RemoteEndPoint nemůže být null.

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

Ta Socket byla uzavřena.

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

Poznámky

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

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

Vlastnost SocketAsyncEventArgs.SocketFlags parametru e poskytuje zprostředkovatel služby Windows Sockets s dalšími informacemi o požadavku na čtení. Další informace o použití tohoto parametru naleznete v tématu System.Net.Sockets.SocketFlags.

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

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

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

U soketů ve stylu bajtů se příchozí data umístí do vyrovnávací paměti, dokud se vyrovnávací paměť nevyplní, připojení se zavře nebo se vyčerpají interně uložená data do vyrovnávací paměti. Vlastnosti SocketAsyncEventArgs.Count určují SocketAsyncEventArgs.Offset umístění dat ve vyrovnávací paměti a množství dat.

Viz také

Platí pro

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

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

Přijímá data a vrací 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ě.

Ta Socket byla uzavřena.

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
Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs

Přijímá data a vrací 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 hodnot SocketFlags, které se použijí při příjmu 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ě.

Ta Socket byla uzavřena.

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
Zdroj:
Socket.Tasks.cs
Zdroj:
Socket.Tasks.cs

Přijímá data a vrací 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 se měl zrušit.

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ě.

Ta Socket byla uzavřena.

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

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

Platí pro

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

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

Přijímá data a vrací 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 hodnot SocketFlags, které se použijí při příjmu 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 se měl zrušit.

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ě.

Ta Socket byla uzavřena.

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

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

Platí pro

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

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

Přijme datagram do vyrovnávací paměti dat 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 o hodnotu vzdáleného partnerského uzlu, když tato metoda vrátí.

cancellationToken
CancellationToken

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

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ě.

Ta Socket byla uzavřena.

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

Platí pro