Socket.EndReceive 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í.
Ukončí čekající asynchronní čtení.
Přetížení
EndReceive(IAsyncResult) |
Ukončí čekající asynchronní čtení. |
EndReceive(IAsyncResult, SocketError) |
Ukončí čekající asynchronní čtení. |
EndReceive(IAsyncResult)
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Ukončí čekající asynchronní čtení.
public:
int EndReceive(IAsyncResult ^ asyncResult);
public int EndReceive (IAsyncResult asyncResult);
member this.EndReceive : IAsyncResult -> int
Public Function EndReceive (asyncResult As IAsyncResult) As Integer
Parametry
- asyncResult
- IAsyncResult
Objekt IAsyncResult , který ukládá informace o stavu a všechna uživatelem definovaná data pro tuto asynchronní operaci.
Návraty
Počet přijatých bajtů.
Výjimky
asyncResult
je null
.
asyncResult
nebyla vrácena voláním BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metody.
EndReceive(IAsyncResult) byla dříve volána pro asynchronní čtení.
Pouze rozhraní .NET Framework, .NET Core a .NET 5-6: Byl Socket uzavřen.
Poznámky
Důležité
Toto je rozhraní API pro kompatibilitu. Pro nový vývoj nedoporučujeme používat metody APM (Begin*
a End*
). Místo toho použijte ekvivalenty založené na Task
.
EndReceive dokončí operaci spuštěnou nástrojem BeginReceive. Musíte předat IAsyncResult vytvořené odpovídající BeginReceive volání.
Metoda EndReceive bude blokovat, dokud nebudou k dispozici data. Pokud používáte protokol bez připojení, EndReceive přečte první vložený datagram dostupný ve vyrovnávací paměti příchozí sítě. Pokud používáte protokol orientovaný na připojení, metoda přečte tolik dat, EndReceive kolik je k dispozici, až do počtu bajtů zadaných v parametru size
BeginReceive metody. Pokud vzdálený hostitel vypne Socket připojení s metodou Shutdown a všechna dostupná data byla přijata, EndReceive metoda se okamžitě dokončí a vrátí nula bajtů.
Poznámka
Pokud se zobrazí SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.
Poznámka
Všechny vstupně-výstupní operace iniciované daným vláknem se při ukončení vlákna zruší. Čekající asynchronní operace může selhat, pokud se vlákno ukončí před dokončením operace.
Poznámka
Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.
Viz také
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
Platí pro
EndReceive(IAsyncResult, SocketError)
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Ukončí čekající asynchronní čtení.
public:
int EndReceive(IAsyncResult ^ asyncResult, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int EndReceive (IAsyncResult asyncResult, out System.Net.Sockets.SocketError errorCode);
member this.EndReceive : IAsyncResult * SocketError -> int
Public Function EndReceive (asyncResult As IAsyncResult, ByRef errorCode As SocketError) As Integer
Parametry
- asyncResult
- IAsyncResult
Objekt IAsyncResult , který ukládá informace o stavu a všechna uživatelem definovaná data pro tuto asynchronní operaci.
- errorCode
- SocketError
Objekt SocketError , který ukládá chybu soketu.
Návraty
Počet přijatých bajtů.
Výjimky
asyncResult
je null
.
asyncResult
nebyla vrácena voláním BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metody.
EndReceive(IAsyncResult) byla dříve volána pro asynchronní čtení.
Pouze rozhraní .NET Framework, .NET Core a .NET 5-6: Byl Socket uzavřen.
Poznámky
Důležité
Toto je rozhraní API pro kompatibilitu. Pro nový vývoj nedoporučujeme používat metody APM (Begin*
a End*
). Místo toho použijte ekvivalenty založené na Task
.
EndReceive dokončí operaci spuštěnou nástrojem BeginReceive. Musíte předat IAsyncResult vytvořené odpovídající BeginReceive volání.
Metoda EndReceive bude blokovat, dokud nebudou k dispozici data. Pokud používáte protokol bez připojení, EndReceive přečte první vložený datagram dostupný ve vyrovnávací paměti příchozí sítě. Pokud používáte protokol orientovaný na připojení, metoda přečte tolik dat, EndReceive kolik je k dispozici, až do počtu bajtů zadaných v parametru size
BeginReceive metody. Pokud vzdálený hostitel vypne Socket připojení s metodou Shutdown a všechna dostupná data byla přijata, EndReceive metoda se okamžitě dokončí a vrátí nula bajtů.
Poznámka
Pokud se zobrazí SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.
Poznámka
Všechny vstupně-výstupní operace iniciované daným vláknem se při ukončení vlákna zruší. Čekající asynchronní operace může selhat, pokud se vlákno ukončí před dokončením operace.
Poznámka
Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.
Viz také
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)