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í
| Name | Description |
|---|---|
| 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
- 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
Obsahuje IAsyncResult informace o stavu a všechna uživatelsky definovaná data pro tuto asynchronní operaci.
Návraty
Celkový počet přijatých bajtů Metoda vrátí nulu (0), pouze pokud byly požadovány nulové bajty nebo pokud nejsou k dispozici žádné další bajty, protože peer socket provedl řádné vypnutí. Pokud jsou požadovány nulové bajty, operace příjmu se mohou dokončit okamžitě nebo nemusí být dokončeny, dokud nebude k dispozici alespoň jeden bajt (ale bez využití jakýchkoli dat).
Výjimky
asyncResult je null.
asyncResult nebyla vrácena voláním BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metody.
EndReceive(IAsyncResult) byl dříve volán pro asynchronní čtení.
Při pokusu o přístup k soketu došlo k chybě.
nebo
Pouze .NET 7+ : Tato Socket možnost byla uzavřena.
Pouze rozhraní .NET Framework, .NET Core a .NET 5-6: Bylo Socket uzavřeno.
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 Taskzákladech.
EndReceive dokončí operaci, kterou BeginReceivespustil . Musíte předat vytvořenou IAsyncResult odpovídajícím BeginReceive voláním.
Metoda EndReceive bude blokovat, dokud nebudou data k dispozici. Pokud používáte protokol bez připojení, EndReceive přečte první vyčíslený datagram dostupný v příchozí síťové vyrovnávací paměti. Pokud používáte protokol orientovaný na připojení, EndReceive bude metoda číst tolik dat, kolik je k dispozici až do počtu bajtů, které jste zadali v size parametru 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í nulové bajty.
Poznámka:
Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.
Poznámka:
Při ukončení vlákna se zruší všechny vstupně-výstupní operace iniciované daným vláknem. Čekající asynchronní operace může selhat, pokud vlákno ukončí před dokončením operace.
Poznámka:
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete 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
- 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
Obsahuje IAsyncResult informace o stavu a všechna uživatelsky definovaná data pro tuto asynchronní operaci.
- errorCode
- SocketError
Objekt SocketError , který ukládá chybu soketu.
Návraty
Celkový počet přijatých bajtů Metoda vrátí nulu (0), pouze pokud byly požadovány nulové bajty nebo pokud nejsou k dispozici žádné další bajty, protože peer socket provedl řádné vypnutí. Pokud jsou požadovány nulové bajty, operace příjmu se mohou dokončit okamžitě nebo nemusí být dokončeny, dokud nebude k dispozici alespoň jeden bajt (ale bez využití jakýchkoli dat).
Výjimky
asyncResult je null.
asyncResult nebyla vrácena voláním BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metody.
EndReceive(IAsyncResult) byl dříve volán pro asynchronní čtení.
Při pokusu o přístup k soketu došlo k chybě.
nebo
Pouze .NET 7+ : Tato Socket možnost byla uzavřena.
Pouze rozhraní .NET Framework, .NET Core a .NET 5-6: Bylo Socket uzavřeno.
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 Taskzákladech.
EndReceive dokončí operaci, kterou BeginReceivespustil . Musíte předat vytvořenou IAsyncResult odpovídajícím BeginReceive voláním.
Metoda EndReceive bude blokovat, dokud nebudou data k dispozici. Pokud používáte protokol bez připojení, EndReceive přečte první vyčíslený datagram dostupný v příchozí síťové vyrovnávací paměti. Pokud používáte protokol orientovaný na připojení, EndReceive bude metoda číst tolik dat, kolik je k dispozici až do počtu bajtů, které jste zadali v size parametru 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í nulové bajty.
Poznámka:
Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.
Poznámka:
Při ukončení vlákna se zruší všechny vstupně-výstupní operace iniciované daným vláknem. Čekající asynchronní operace může selhat, pokud vlákno ukončí před dokončením operace.
Poznámka:
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete 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)