Socket.EndReceive Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Avslutar en väntande asynkron läsning.
Överlagringar
| Name | Description |
|---|---|
| EndReceive(IAsyncResult) |
Avslutar en väntande asynkron läsning. |
| EndReceive(IAsyncResult, SocketError) |
Avslutar en väntande asynkron läsning. |
EndReceive(IAsyncResult)
- Källa:
- Socket.cs
- Källa:
- Socket.cs
- Källa:
- Socket.cs
- Källa:
- Socket.cs
- Källa:
- Socket.cs
Avslutar en väntande asynkron läsning.
public:
int EndReceive(IAsyncResult ^ asyncResult);
public int EndReceive(IAsyncResult asyncResult);
member this.EndReceive : IAsyncResult -> int
Public Function EndReceive (asyncResult As IAsyncResult) As Integer
Parametrar
- asyncResult
- IAsyncResult
En IAsyncResult som lagrar tillståndsinformation och användardefinierade data för den här asynkrona åtgärden.
Returer
Det totala antalet mottagna byte. Metoden returnerar endast noll (0) om noll byte begärdes eller om inga fler byte är tillgängliga eftersom peer-socketen utförde en graciös avstängning. Om noll byte begärs kan mottagningsåtgärder slutföras omedelbart eller kanske inte slutföras förrän minst en byte är tillgänglig (men utan att förbruka några data).
Undantag
asyncResult är null.
asyncResult returnerades inte av ett anrop till BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metoden.
EndReceive(IAsyncResult) anropades tidigare för den asynkrona läsningen.
.NET Framework, .NET Core och endast .NET 5–6: Socket har stängts.
Kommentarer
Important
Det här är ett kompatibilitets-API. Vi rekommenderar inte att du använder APM-metoderna (Begin* och End*) för ny utveckling. Använd i stället de Task-baserade motsvarigheterna.
EndReceive slutför åtgärden som startades av BeginReceive. Du måste skicka det IAsyncResult som skapats av det matchande BeginReceive anropet.
Metoden EndReceive blockeras tills data är tillgängliga. Om du använder ett anslutningslöst protokoll EndReceive läser du det första datagrammet som är tillgängligt i den inkommande nätverksbufferten. Om du använder ett anslutningsorienterat protokoll EndReceive läser metoden så mycket data som är tillgängligt upp till det antal byte som du angav i parametern size för BeginReceive metoden. Om fjärrvärden stänger av Socket anslutningen till Shutdown metoden och alla tillgängliga data har tagits emot EndReceive slutförs metoden omedelbart och noll byte returneras.
Note
Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden.
Note
Alla I/O som initieras av en viss tråd avbryts när tråden avslutas. En väntande asynkron åtgärd kan misslyckas om tråden avslutas innan åtgärden slutförs.
Note
Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.
Se även
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
Gäller för
EndReceive(IAsyncResult, SocketError)
- Källa:
- Socket.cs
- Källa:
- Socket.cs
- Källa:
- Socket.cs
- Källa:
- Socket.cs
- Källa:
- Socket.cs
Avslutar en väntande asynkron läsning.
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
Parametrar
- asyncResult
- IAsyncResult
En IAsyncResult som lagrar tillståndsinformation och användardefinierade data för den här asynkrona åtgärden.
- errorCode
- SocketError
Ett SocketError objekt som lagrar socketfelet.
Returer
Det totala antalet mottagna byte. Metoden returnerar endast noll (0) om noll byte begärdes eller om inga fler byte är tillgängliga eftersom peer-socketen utförde en graciös avstängning. Om noll byte begärs kan mottagningsåtgärder slutföras omedelbart eller kanske inte slutföras förrän minst en byte är tillgänglig (men utan att förbruka några data).
Undantag
asyncResult är null.
asyncResult returnerades inte av ett anrop till BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metoden.
EndReceive(IAsyncResult) anropades tidigare för den asynkrona läsningen.
.NET Framework, .NET Core och endast .NET 5–6: Socket har stängts.
Kommentarer
Important
Det här är ett kompatibilitets-API. Vi rekommenderar inte att du använder APM-metoderna (Begin* och End*) för ny utveckling. Använd i stället de Task-baserade motsvarigheterna.
EndReceive slutför åtgärden som startades av BeginReceive. Du måste skicka det IAsyncResult som skapats av det matchande BeginReceive anropet.
Metoden EndReceive blockeras tills data är tillgängliga. Om du använder ett anslutningslöst protokoll EndReceive läser du det första datagrammet som är tillgängligt i den inkommande nätverksbufferten. Om du använder ett anslutningsorienterat protokoll EndReceive läser metoden så mycket data som är tillgängligt upp till det antal byte som du angav i parametern size för BeginReceive metoden. Om fjärrvärden stänger av Socket anslutningen till Shutdown metoden och alla tillgängliga data har tagits emot EndReceive slutförs metoden omedelbart och noll byte returneras.
Note
Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden.
Note
Alla I/O som initieras av en viss tråd avbryts när tråden avslutas. En väntande asynkron åtgärd kan misslyckas om tråden avslutas innan åtgärden slutförs.
Note
Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.
Se även
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)