Socket.EndReceive Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beendet einen ausstehenden asynchronen Lesevorgang.
Überlädt
EndReceive(IAsyncResult) |
Beendet einen ausstehenden asynchronen Lesevorgang. |
EndReceive(IAsyncResult, SocketError) |
Beendet einen ausstehenden asynchronen Lesevorgang. |
EndReceive(IAsyncResult)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beendet einen ausstehenden asynchronen Lesevorgang.
public:
int EndReceive(IAsyncResult ^ asyncResult);
public int EndReceive (IAsyncResult asyncResult);
member this.EndReceive : IAsyncResult -> int
Public Function EndReceive (asyncResult As IAsyncResult) As Integer
Parameter
- asyncResult
- IAsyncResult
Ein IAsyncResult, das Zustandsinformationen über diesen asynchronen Vorgang sowie ggf. vorhandene benutzerdefinierte Daten speichert.
Gibt zurück
Die Anzahl der empfangenen Bytes.
Ausnahmen
asyncResult
ist null
.
asyncResult
wurde nicht durch einen Aufruf der BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)-Methode zurückgegeben.
EndReceive(IAsyncResult) wurde bereits für den asynchronen Lesevorgang aufgerufen.
Fehler beim Versuch, auf den Socket zuzugreifen.
- oder -
Nur .NET 7 und höher: Die Socket wurde geschlossen.
nur .NET Framework, .NET Core und .NET 5-6: Die Socket wurde geschlossen.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für die Neuentwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
EndReceive schließt den von gestarteten Vorgang ab BeginReceive. Sie müssen das übergeben, das IAsyncResult vom übereinstimmenden BeginReceive Aufruf erstellt wurde.
Die EndReceive -Methode wird blockiert, bis Daten verfügbar sind. Wenn Sie ein verbindungsloses Protokoll verwenden, EndReceive liest das erste in die Warteschlange eingereihte Datagramm, das im eingehenden Netzwerkpuffer verfügbar ist. Wenn Sie ein verbindungsorientiertes Protokoll verwenden, liest die EndReceive Methode bis zu der Anzahl von Bytes, die Sie im size
Parameter der BeginReceive -Methode angegeben haben, so viele Daten, wie verfügbar sind. Wenn der Remotehost die Verbindung mit der SocketShutdown -Methode beendet und alle verfügbaren Daten empfangen wurden, wird die EndReceive Methode sofort abgeschlossen und gibt null Bytes zurück.
Hinweis
Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.
Hinweis
Alle von einem bestimmten Thread initiierten E/A-Vorgänge werden abgebrochen, wenn dieser Thread beendet wird. Ein ausstehender asynchroner Vorgang kann fehlschlagen, wenn der Thread beendet wird, bevor der Vorgang abgeschlossen ist.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Weitere Informationen
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
Gilt für:
EndReceive(IAsyncResult, SocketError)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beendet einen ausstehenden asynchronen Lesevorgang.
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
Parameter
- asyncResult
- IAsyncResult
Ein IAsyncResult, das Zustandsinformationen über diesen asynchronen Vorgang sowie ggf. vorhandene benutzerdefinierte Daten speichert.
- errorCode
- SocketError
Ein SocketError-Objekt, in dem der Socketfehler gespeichert wird.
Gibt zurück
Die Anzahl der empfangenen Bytes.
Ausnahmen
asyncResult
ist null
.
asyncResult
wurde nicht durch einen Aufruf der BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)-Methode zurückgegeben.
EndReceive(IAsyncResult) wurde bereits für den asynchronen Lesevorgang aufgerufen.
Fehler beim Versuch, auf den Socket zuzugreifen.
- oder -
Nur .NET 7 und höher: Die Socket wurde geschlossen.
nur .NET Framework, .NET Core und .NET 5-6: Die Socket wurde geschlossen.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für die Neuentwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
EndReceive schließt den von gestarteten Vorgang ab BeginReceive. Sie müssen das übergeben, das IAsyncResult vom übereinstimmenden BeginReceive Aufruf erstellt wurde.
Die EndReceive -Methode wird blockiert, bis Daten verfügbar sind. Wenn Sie ein verbindungsloses Protokoll verwenden, EndReceive liest das erste in die Warteschlange eingereihte Datagramm, das im eingehenden Netzwerkpuffer verfügbar ist. Wenn Sie ein verbindungsorientiertes Protokoll verwenden, liest die EndReceive Methode bis zu der Anzahl von Bytes, die Sie im size
Parameter der BeginReceive -Methode angegeben haben, so viele Daten, wie verfügbar sind. Wenn der Remotehost die Verbindung mit der SocketShutdown -Methode beendet und alle verfügbaren Daten empfangen wurden, wird die EndReceive Methode sofort abgeschlossen und gibt null Bytes zurück.
Hinweis
Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.
Hinweis
Alle von einem bestimmten Thread initiierten E/A-Vorgänge werden abgebrochen, wenn dieser Thread beendet wird. Ein ausstehender asynchroner Vorgang kann fehlschlagen, wenn der Thread beendet wird, bevor der Vorgang abgeschlossen ist.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Weitere Informationen
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)