Socket.ReceiveFromAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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
- 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
- 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
- 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.