Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Socket.BeginReceive-Methode: (Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

 

Veröffentlicht: Oktober 2016

Beginnt den asynchronen Datenempfang aus einem verbundenen Socket.

Namespace:   System.Net.Sockets
Assembly:  System (in System.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public IAsyncResult BeginReceive(
	byte[] buffer,
	int offset,
	int size,
	SocketFlags socketFlags,
	out SocketError errorCode,
	AsyncCallback callback,
	object state
)

Parameter

buffer
Type: System.Byte[]

Ein Array vom Typ Byte den Speicherort für die empfangenen Daten.

offset
Type: System.Int32

Die Position im buffer zum Speichern der empfangenen Daten.

size
Type: System.Int32

Die Anzahl der zu empfangenden Bytes.

socketFlags
Type: System.Net.Sockets.SocketFlags

Eine bitweise Kombination der SocketFlags-Werte.

errorCode
Type: System.Net.Sockets.SocketError

Ein SocketError -Objekt, das die Socketfehler gespeichert.

callback
Type: System.AsyncCallback

Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss des Vorgangs aufgerufen werden soll.

state
Type: System.Object

Ein benutzerdefiniertes Objekt, das Informationen über den Empfangsvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den EndReceive-Delegaten übergeben.

Rückgabewert

Type: System.IAsyncResult

Ein IAsyncResult das auf den asynchronen Lesevorgang verweist.

Exception Condition
ArgumentNullException

buffer ist null.

SocketException

Fehler beim Versuch, auf den Socket zuzugreifen. Weitere Informationen finden Sie im Abschnitt Hinweise.

ObjectDisposedException

Socket wurde geschlossen.

ArgumentOutOfRangeException

offset ist kleiner als 0.

- oder -

offset ist größer als die Länge des buffer.

- oder -

size ist kleiner als 0.

- oder -

size ist größer als die Länge des buffer minus dem Wert von der offset Parameter.

Die asynchrone BeginReceive Vorgang abgeschlossen werden muss, durch Aufrufen der EndReceive Methode. In der Regel wird die Methode aufgerufen, indem die callback delegieren.

Diese Methode wird nicht blockiert, bis der Vorgang abgeschlossen ist. Zum Blockieren, bis der Vorgang abgeschlossen ist, verwenden Sie eines der Receive überladene Methoden.

Abbrechen einer ausstehenden BeginReceive, rufen Sie die Close Methode.

Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter Calling Synchronous Methods Asynchronously.

System_CAPS_noteHinweis

Erhalten Sie eine SocketException, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten. Nachdem Sie diesen Code erhalten haben, finden Sie in der Windows Sockets-Version 2-API-Fehler-Code-Dokumentation in der MSDN Library für eine ausführliche Beschreibung des Fehlers.

System_CAPS_noteHinweis

Alle von einem bestimmten Thread initiierten wird abgebrochen, beim Beenden des Threads. Ein ausstehender asynchroner Vorgang kann fehlschlagen, wenn der Thread beendet wird, bevor der Vorgang abgeschlossen ist.

System_CAPS_noteHinweis

state ist eine Instanziierung einer benutzerdefinierten Klasse.

System_CAPS_noteHinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.

System_CAPS_noteHinweis

Der Ausführungskontext (der Sicherheitskontext, die Identität eines Benutzers und dem aufrufenden Kontext) wird für die asynchrone zwischengespeichert Socket Methoden. Nach der ersten Verwendung eines bestimmten Kontexts (eine bestimmte asynchrone Socket Methode, eine bestimmte Socket -Instanz und ein bestimmter Rückruf), nachfolgenden Verwendungen werden eine Verbesserung der Leistung finden Sie unter.

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: