Teilen über


Socket.BeginReceive Methode

Definition

Beginnt mit dem asynchronen Empfangen von Daten aus einer verbundenen .Socket

Überlädt

Name Beschreibung
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Beginnt mit dem asynchronen Empfangen von Daten aus einer verbundenen .Socket

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Beginnt mit dem asynchronen Empfangen von Daten aus einer verbundenen .Socket

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Beginnt mit dem asynchronen Empfangen von Daten aus einer verbundenen .Socket

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Beginnt mit dem asynchronen Empfangen von Daten aus einer verbundenen .Socket

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

Beginnt mit dem asynchronen Empfangen von Daten aus einer 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

buffer
Byte[]

Ein Array vom Typ Byte , das der Speicherort für die empfangenen Daten ist.

offset
Int32

Die nullbasierte Position in dem buffer Parameter, an dem die empfangenen Daten gespeichert werden sollen.

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 aufgerufen werden soll, wenn der Vorgang abgeschlossen ist.

state
Object

Ein benutzerdefiniertes Objekt, das Informationen zum Empfangsvorgang enthält. Dieses Objekt wird an die EndReceive(IAsyncResult) Stellvertretung übergeben, wenn der Vorgang abgeschlossen ist.

Gibt zurück

Ein IAsyncResult Verweis auf den asynchronen Lesevorgang.

Ausnahmen

buffer ist null.

.NET Framework und .NET 5 und früher: Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

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 minus buffer des Werts des offset Parameters.

Hinweise

Von Bedeutung

Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin* und End*) für die neue Entwicklung zu verwenden. Verwenden Sie stattdessen die Task-basierten Entsprechungen.

Sie können einen Rückruf übergeben, der BeginReceive implementiert wird, um über den Abschluss des Vorgangs AsyncCallback benachrichtigt zu werden. Wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abgeschlossen hat, wird der Rückruf während des Aufrufs BeginReceiveinline ausgeführt. In diesem Fall wird die CompletedSynchronously Eigenschaft für die zurückgegebene IAsyncResult Eigenschaft so festgelegt true , dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState Eigenschaft des IAsyncResult Zustandsobjekts, das an die BeginReceive Methode übergeben wird.

Der asynchrone BeginReceive Vorgang muss durch Aufrufen der EndReceive Methode abgeschlossen werden. In der AsyncCallback Regel wird die Methode vom Delegaten aufgerufen. EndReceive blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.

Schließen Sie den Socket Vorgang, um einen ausstehenden BeginReceiveVorgang abzubrechen. 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. Bei einem nachfolgenden Aufruf der EndReceive Methode wird ein ObjectDisposedException (vor .NET 7) oder ein SocketException (unter .NET 7+) ausgelöst, um anzugeben, dass der Vorgang abgebrochen wurde.

Hinweis

Wenn Sie ein SocketExceptionObjekt erhalten, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen.

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 wird.

Hinweis

state ist eine Instanziierung einer benutzerdefinierten Klasse.

Hinweis

Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing 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 Instanz und einem bestimmten Socket Rückruf) wird bei nachfolgenden Verwendungen dieses Kontexts eine Leistungsverbesserung angezeigt.

Weitere Informationen

Gilt für:

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

Beginnt mit dem asynchronen Empfangen von Daten aus einer 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

buffer
Byte[]

Ein Array vom Typ Byte , das der Speicherort für die empfangenen Daten ist.

offset
Int32

Der Speicherort buffer zum Speichern der empfangenen Daten.

size
Int32

Die Anzahl der zu empfangenden Bytes.

socketFlags
SocketFlags

Eine bitweise Kombination der SocketFlags Werte.

errorCode
SocketError

Ein SocketError Objekt, das den Socketfehler speichert.

callback
AsyncCallback

Ein AsyncCallback Delegat, der auf die Methode verweist, die aufgerufen werden soll, wenn der Vorgang abgeschlossen ist.

state
Object

Ein benutzerdefiniertes Objekt, das Informationen zum Empfangsvorgang enthält. Dieses Objekt wird an die EndReceive(IAsyncResult) Stellvertretung übergeben, wenn der Vorgang abgeschlossen ist.

Gibt zurück

Ein IAsyncResult Verweis auf den asynchronen Lesevorgang.

Ausnahmen

buffer ist null.

.NET Framework und .NET 5 und früher: Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

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 minus buffer des Werts des offset Parameters.

Hinweise

Von Bedeutung

Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin* und End*) für die neue Entwicklung zu verwenden. Verwenden Sie stattdessen die Task-basierten Entsprechungen.

Sie können einen Rückruf übergeben, der BeginReceive implementiert wird, um über den Abschluss des Vorgangs AsyncCallback benachrichtigt zu werden. Wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abgeschlossen hat, wird der Rückruf während des Aufrufs BeginReceiveinline ausgeführt. In diesem Fall wird die CompletedSynchronously Eigenschaft für die zurückgegebene IAsyncResult Eigenschaft so festgelegt true , dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState Eigenschaft des IAsyncResult Zustandsobjekts, das an die BeginReceive Methode übergeben wird.

Der asynchrone BeginReceive Vorgang muss durch Aufrufen der EndReceive Methode abgeschlossen werden. In der AsyncCallback Regel wird die Methode vom Delegaten aufgerufen. EndReceive blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.

Schließen Sie den Socket Vorgang, um einen ausstehenden BeginReceiveVorgang abzubrechen. 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. Bei einem nachfolgenden Aufruf der EndReceive Methode wird ein ObjectDisposedException (vor .NET 7) oder ein SocketException (unter .NET 7+) ausgelöst, um anzugeben, dass der Vorgang abgebrochen wurde.

Hinweis

Wenn Sie ein SocketExceptionObjekt erhalten, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen.

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 wird.

Hinweis

state ist eine Instanziierung einer benutzerdefinierten Klasse.

Hinweis

Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing 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 Instanz und einem bestimmten Socket Rückruf) wird bei nachfolgenden Verwendungen dieses Kontexts eine Leistungsverbesserung angezeigt.

Weitere Informationen

Gilt für:

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

Beginnt mit dem asynchronen Empfangen von Daten aus einer 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 aufgerufen werden soll, wenn der Vorgang abgeschlossen ist.

state
Object

Ein benutzerdefiniertes Objekt, das Informationen zum Empfangsvorgang enthält. Dieses Objekt wird an die EndReceive(IAsyncResult) Stellvertretung übergeben, wenn der Vorgang abgeschlossen ist.

Gibt zurück

Ein IAsyncResult Verweis auf den asynchronen Lesevorgang.

Ausnahmen

buffers ist null.

.NET Framework und .NET 5 und früher: Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Socket wurde geschlossen.

Hinweise

Von Bedeutung

Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin* und End*) für die neue Entwicklung zu verwenden. Verwenden Sie stattdessen die Task-basierten Entsprechungen.

Sie können einen Rückruf übergeben, der BeginReceive implementiert wird, um über den Abschluss des Vorgangs AsyncCallback benachrichtigt zu werden. Wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abgeschlossen hat, wird der Rückruf während des Aufrufs BeginReceiveinline ausgeführt. In diesem Fall wird die CompletedSynchronously Eigenschaft für die zurückgegebene IAsyncResult Eigenschaft so festgelegt true , dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState Eigenschaft des IAsyncResult Zustandsobjekts, das an die BeginReceive Methode übergeben wird.

Der asynchrone BeginReceive Vorgang muss durch Aufrufen der EndReceive Methode abgeschlossen werden. In der AsyncCallback Regel wird die Methode vom Delegaten aufgerufen. EndReceive blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.

Schließen Sie den Socket Vorgang, um einen ausstehenden BeginReceiveVorgang abzubrechen. 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. Bei einem nachfolgenden Aufruf der EndReceive Methode wird ein ObjectDisposedException (vor .NET 7) oder ein SocketException (unter .NET 7+) ausgelöst, um anzugeben, dass der Vorgang abgebrochen wurde.

Hinweis

Wenn Sie ein SocketExceptionObjekt erhalten, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen.

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 wird.

Hinweis

state ist eine Instanziierung einer benutzerdefinierten Klasse.

Hinweis

Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing 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 Instanz und einem bestimmten Socket Rückruf) wird bei nachfolgenden Verwendungen dieses Kontexts eine Leistungsverbesserung angezeigt.

Weitere Informationen

Gilt für:

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

Beginnt mit dem asynchronen Empfangen von Daten aus einer 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, das den Socketfehler speichert.

callback
AsyncCallback

Ein AsyncCallback Delegat, der auf die Methode verweist, die aufgerufen werden soll, wenn der Vorgang abgeschlossen ist.

state
Object

Ein benutzerdefiniertes Objekt, das Informationen zum Empfangsvorgang enthält. Dieses Objekt wird an die EndReceive(IAsyncResult) Stellvertretung übergeben, wenn der Vorgang abgeschlossen ist.

Gibt zurück

Ein IAsyncResult Verweis auf den asynchronen Lesevorgang.

Ausnahmen

buffers ist null.

.NET Framework und .NET 5 und früher: Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Socket wurde geschlossen.

Hinweise

Von Bedeutung

Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin* und End*) für die neue Entwicklung zu verwenden. Verwenden Sie stattdessen die Task-basierten Entsprechungen.

Sie können einen Rückruf übergeben, der BeginReceive implementiert wird, um über den Abschluss des Vorgangs AsyncCallback benachrichtigt zu werden. Wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abgeschlossen hat, wird der Rückruf während des Aufrufs BeginReceiveinline ausgeführt. In diesem Fall wird die CompletedSynchronously Eigenschaft für die zurückgegebene IAsyncResult Eigenschaft so festgelegt true , dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState Eigenschaft des IAsyncResult Zustandsobjekts, das an die BeginReceive Methode übergeben wird.

Der asynchrone BeginReceive Vorgang muss durch Aufrufen der EndReceive Methode abgeschlossen werden. In der AsyncCallback Regel wird die Methode vom Delegaten aufgerufen. EndReceive blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.

Schließen Sie den Socket Vorgang, um einen ausstehenden BeginReceiveVorgang abzubrechen. 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. Bei einem nachfolgenden Aufruf der EndReceive Methode wird ein ObjectDisposedException (vor .NET 7) oder ein SocketException (unter .NET 7+) ausgelöst, um anzugeben, dass der Vorgang abgebrochen wurde.

Hinweis

Wenn Sie ein SocketExceptionObjekt erhalten, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen.

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 wird.

Hinweis

state ist eine Instanziierung einer benutzerdefinierten Klasse.

Hinweis

Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing 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 Instanz und einem bestimmten Socket Rückruf) wird bei nachfolgenden Verwendungen dieses Kontexts eine Leistungsverbesserung angezeigt.

Weitere Informationen

Gilt für: