Socket.BeginReceive 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.
Beginnt den asynchronen Datenempfang aus dem verbundenen Socket.
Überlädt
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Beginnt den asynchronen Datenempfang aus dem verbundenen Socket. |
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Beginnt den asynchronen Datenempfang aus dem verbundenen Socket. |
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Beginnt den asynchronen Datenempfang aus dem verbundenen Socket. |
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Beginnt den asynchronen Datenempfang aus dem verbundenen Socket. |
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt den asynchronen Datenempfang aus dem verbundenen Socket.
public:
IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- offset
- Int32
Die Position im buffer
, an der die empfangenen Daten gespeichert werden sollen.
- size
- Int32
Die Anzahl der zu empfangenden Bytes.
- socketFlags
- SocketFlags
Eine bitweise Kombination der SocketFlags-Werte.
- errorCode
- SocketError
Ein SocketError-Objekt, in dem der Socketfehler gespeichert wird.
- callback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss des Vorgangs aufgerufen werden soll.
- state
- Object
Ein benutzerdefiniertes Objekt, das Informationen über den Empfangsvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den EndReceive(IAsyncResult)-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult, das auf den asynchronen Lesevorgang verweist.
Ausnahmen
buffer
ist null
nur .NET Framework und .NET 5 und früher: Fehler beim Versuch, auf den Socket zuzugreifen.
Socket wurde geschlossen.
offset
ist kleiner als 0.
- oder -
offset
ist größer als die Länge von buffer
.
- oder -
size
ist kleiner als 0.
- oder -
size
ist größer als die Länge von buffer
minus dem Wert des offset
-Parameters.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für neue Entwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
Sie können einen Rückruf übergeben, der implementiert wird, BeginReceive um über den Abschluss des Vorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginReceivevon inline ausgeführt wird, wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abschließt. In diesem Fall wird die CompletedSynchronously Eigenschaft für die zurückgegebene IAsyncResult auf true
festgelegt, um anzugeben, dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState -Eigenschaft von, IAsyncResult um das an die -Methode übergebene Zustandsobjekt BeginReceive abzurufen.
Der asynchrone BeginReceive Vorgang muss durch Aufrufen der EndReceive -Methode abgeschlossen werden. In der Regel wird die -Methode vom AsyncCallback Delegaten aufgerufen. EndReceive blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Schließen Sie die Socket , um einen ausstehenden BeginReceiveabzubrechen. Wenn die Close Methode aufgerufen wird, während ein asynchroner Vorgang ausgeführt wird, wird der für die BeginReceive Methode bereitgestellte Rückruf aufgerufen. Ein späterer Aufruf der EndReceive -Methode löst ein ObjectDisposedException (vor .NET 7) oder ein (unter .NET 7+) aus SocketException , um anzugeben, dass der Vorgang abgebrochen wurde.
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
state
ist eine Instanziierung einer benutzerdefinierten Klasse.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Hinweis
Der Ausführungskontext (der Sicherheitskontext, der identitätswechselte Benutzer und der aufrufende Kontext) wird für die asynchronen Socket Methoden zwischengespeichert. Nach der ersten Verwendung eines bestimmten Kontexts (einer bestimmten asynchronen Socket Methode, einer bestimmten Socket instance und einem bestimmten Rückruf) wird bei der nachfolgenden Verwendung dieses Kontexts eine Leistungsverbesserung angezeigt.
Weitere Informationen
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling von Delegaten als Rückrufmethode
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel
Gilt für:
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt den asynchronen Datenempfang aus dem verbundenen Socket.
public:
IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- offset
- Int32
Die nullbasierte Position im buffer
-Parameter, an der die empfangenen Daten gespeichert werden.
- size
- Int32
Die Anzahl der zu empfangenden Bytes.
- socketFlags
- SocketFlags
Eine bitweise Kombination der SocketFlags-Werte.
- callback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss des Vorgangs aufgerufen werden soll.
- state
- Object
Ein benutzerdefiniertes Objekt, das Informationen über den Empfangsvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den EndReceive(IAsyncResult)-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult, das auf den asynchronen Lesevorgang verweist.
Ausnahmen
buffer
ist null
nur .NET Framework und .NET 5 und früher: Fehler beim Versuch, auf den Socket zuzugreifen.
Socket wurde geschlossen.
offset
ist kleiner als 0.
- oder -
offset
ist größer als die Länge von buffer
.
- oder -
size
ist kleiner als 0.
- oder -
size
ist größer als die Länge von buffer
minus dem Wert des offset
-Parameters.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für neue Entwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
Sie können einen Rückruf übergeben, der implementiert wird, BeginReceive um über den Abschluss des Vorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginReceivevon inline ausgeführt wird, wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abschließt. In diesem Fall wird die CompletedSynchronously Eigenschaft für die zurückgegebene IAsyncResult auf true
festgelegt, um anzugeben, dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState -Eigenschaft von, IAsyncResult um das an die -Methode übergebene Zustandsobjekt BeginReceive abzurufen.
Der asynchrone BeginReceive Vorgang muss durch Aufrufen der EndReceive -Methode abgeschlossen werden. In der Regel wird die -Methode vom AsyncCallback Delegaten aufgerufen. EndReceive blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Schließen Sie die Socket , um einen ausstehenden BeginReceiveabzubrechen. Wenn die Close Methode aufgerufen wird, während ein asynchroner Vorgang ausgeführt wird, wird der für die BeginReceive Methode bereitgestellte Rückruf aufgerufen. Ein späterer Aufruf der EndReceive -Methode löst ein ObjectDisposedException (vor .NET 7) oder ein (unter .NET 7+) aus SocketException , um anzugeben, dass der Vorgang abgebrochen wurde.
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
state
ist eine Instanziierung einer benutzerdefinierten Klasse.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Hinweis
Der Ausführungskontext (der Sicherheitskontext, der identitätswechselte Benutzer und der aufrufende Kontext) wird für die asynchronen Socket Methoden zwischengespeichert. Nach der ersten Verwendung eines bestimmten Kontexts (einer bestimmten asynchronen Socket Methode, einer bestimmten Socket instance und einem bestimmten Rückruf) wird bei der nachfolgenden Verwendung dieses Kontexts eine Leistungsverbesserung angezeigt.
Weitere Informationen
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling von Delegaten als Rückrufmethode
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel
Gilt für:
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt den asynchronen Datenempfang aus dem verbundenen Socket.
public:
IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- buffers
- IList<ArraySegment<Byte>>
Ein Array vom Typ Byte, das der Speicherort für die empfangenen Daten ist.
- socketFlags
- SocketFlags
Eine bitweise Kombination der SocketFlags-Werte.
- callback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss des Vorgangs aufgerufen werden soll.
- state
- Object
Ein benutzerdefiniertes Objekt, das Informationen über den Empfangsvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den EndReceive(IAsyncResult)-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult, das auf den asynchronen Lesevorgang verweist.
Ausnahmen
buffer
ist null
nur .NET Framework und .NET 5 und früher: Fehler beim Versuch, auf den Socket zuzugreifen.
Socket wurde geschlossen.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für neue Entwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
Sie können einen Rückruf übergeben, der implementiert wird, BeginReceive um über den Abschluss des Vorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginReceivevon inline ausgeführt wird, wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abschließt. In diesem Fall wird die CompletedSynchronously Eigenschaft für die zurückgegebene IAsyncResult auf true
festgelegt, um anzugeben, dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState -Eigenschaft von, IAsyncResult um das an die -Methode übergebene Zustandsobjekt BeginReceive abzurufen.
Der asynchrone BeginReceive Vorgang muss durch Aufrufen der EndReceive -Methode abgeschlossen werden. In der Regel wird die -Methode vom AsyncCallback Delegaten aufgerufen. EndReceive blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Schließen Sie die Socket , um einen ausstehenden BeginReceiveabzubrechen. Wenn die Close Methode aufgerufen wird, während ein asynchroner Vorgang ausgeführt wird, wird der für die BeginReceive Methode bereitgestellte Rückruf aufgerufen. Ein späterer Aufruf der EndReceive -Methode löst ein ObjectDisposedException (vor .NET 7) oder ein (unter .NET 7+) aus SocketException , um anzugeben, dass der Vorgang abgebrochen wurde.
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
state
ist eine Instanziierung einer benutzerdefinierten Klasse.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Hinweis
Der Ausführungskontext (der Sicherheitskontext, der identitätswechselte Benutzer und der aufrufende Kontext) wird für die asynchronen Socket Methoden zwischengespeichert. Nach der ersten Verwendung eines bestimmten Kontexts (einer bestimmten asynchronen Socket Methode, einer bestimmten Socket instance und einem bestimmten Rückruf) wird bei der nachfolgenden Verwendung dieses Kontexts eine Leistungsverbesserung angezeigt.
Weitere Informationen
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling von Delegaten als Rückrufmethode
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel
Gilt für:
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt den asynchronen Datenempfang aus dem verbundenen Socket.
public:
IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- buffers
- IList<ArraySegment<Byte>>
Ein Array vom Typ Byte, das der Speicherort für die empfangenen Daten ist.
- socketFlags
- SocketFlags
Eine bitweise Kombination der SocketFlags-Werte.
- errorCode
- SocketError
Ein SocketError-Objekt, in dem der Socketfehler gespeichert wird.
- callback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss des Vorgangs aufgerufen werden soll.
- state
- Object
Ein benutzerdefiniertes Objekt, das Informationen über den Empfangsvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den EndReceive(IAsyncResult)-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult, das auf den asynchronen Lesevorgang verweist.
Ausnahmen
buffer
ist null
nur .NET Framework und .NET 5 und früher: Fehler beim Versuch, auf den Socket zuzugreifen.
Socket wurde geschlossen.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für neue Entwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
Sie können einen Rückruf übergeben, der implementiert wird, BeginReceive um über den Abschluss des Vorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginReceivevon inline ausgeführt wird, wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abschließt. In diesem Fall wird die CompletedSynchronously Eigenschaft für die zurückgegebene IAsyncResult auf true
festgelegt, um anzugeben, dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState -Eigenschaft von, IAsyncResult um das an die -Methode übergebene Zustandsobjekt BeginReceive abzurufen.
Der asynchrone BeginReceive Vorgang muss durch Aufrufen der EndReceive -Methode abgeschlossen werden. In der Regel wird die -Methode vom AsyncCallback Delegaten aufgerufen. EndReceive blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Schließen Sie die Socket , um einen ausstehenden BeginReceiveabzubrechen. Wenn die Close Methode aufgerufen wird, während ein asynchroner Vorgang ausgeführt wird, wird der für die BeginReceive Methode bereitgestellte Rückruf aufgerufen. Ein späterer Aufruf der EndReceive -Methode löst ein ObjectDisposedException (vor .NET 7) oder ein (unter .NET 7+) aus SocketException , um anzugeben, dass der Vorgang abgebrochen wurde.
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
state
ist eine Instanziierung einer benutzerdefinierten Klasse.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Hinweis
Der Ausführungskontext (der Sicherheitskontext, der identitätswechselte Benutzer und der aufrufende Kontext) wird für die asynchronen Socket Methoden zwischengespeichert. Nach der ersten Verwendung eines bestimmten Kontexts (einer bestimmten asynchronen Socket Methode, einer bestimmten Socket instance und einem bestimmten Rückruf) wird bei der nachfolgenden Verwendung dieses Kontexts eine Leistungsverbesserung angezeigt.
Weitere Informationen
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling von Delegaten als Rückrufmethode
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel