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í
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
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
.
Byla Socket uzavřena.
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ě.
Byla Socket 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
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ě.
Byla Socket 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
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
- 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ě.
Byla Socket 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 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
- 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ě.
Byla Socket 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 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
- 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ě.
Byla Socket uzavřena.
Token zrušení byl zrušen. Tato výjimka se uloží do vrácené úlohy.