Freigeben über


Socket.ReceiveFromAsync Methode

Definition

Überlädt

ReceiveFromAsync(SocketAsyncEventArgs)

Beginnt den asynchronen Datenempfang aus dem angegebenen Netzwerkgerät.

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Empfängt Daten und gibt den Endpunkt des sendenden Hosts zurück.

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Empfängt Daten und gibt den Endpunkt des sendenden Hosts zurück.

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Empfängt Daten und gibt den Endpunkt des sendenden Hosts zurück.

ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

Empfängt Daten und gibt den Endpunkt des sendenden Hosts zurück.

ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken)

Empfängt mithilfe der angegebenen SocketFlags ein Datagramm im Datenpuffer und speichert den Endpunkt.

ReceiveFromAsync(SocketAsyncEventArgs)

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

Beginnt den asynchronen Datenempfang aus dem angegebenen Netzwerkgerät.

public:
 bool ReceiveFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveFromAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveFromAsync (e As SocketAsyncEventArgs) As Boolean

Parameter

e
SocketAsyncEventArgs

Das SocketAsyncEventArgs-Objekt, das für diesen asynchronen Socketvorgang verwendet werden soll.

Gibt zurück

true, wenn der E/A-Vorgang aussteht. Das Completed-Ereignis für den e-Parameter wird nach dem Abschluss des Vorgangs ausgelöst.

false, wenn der E/A-Vorgang synchron abgeschlossen wurde. In diesem Fall wird das Completed-Ereignis für den e-Parameter nicht ausgelöst, und das als Parameter übergebene e-Objekt kann direkt nach der Rückgabe des Methodenaufrufs untersucht werden, um die Ergebnisse des Vorgangs abzurufen.

Ausnahmen

RemoteEndPoint darf nicht NULL sein.

Es wird bereits ein Socketvorgang mit dem im e-Parameter angegebenen SocketAsyncEventArgs-Objekt ausgeführt.

Der Socket wurde geschlossen.

Fehler beim Versuch, auf den Socket zuzugreifen.

Hinweise

Die ReceiveFromAsync -Methode wird in erster Linie verwendet, um Daten auf einem verbindungslosen Socket zu empfangen. Die lokale Adresse des Sockets muss bekannt sein.

Der Aufrufer muss die SocketAsyncEventArgs.RemoteEndPoint Eigenschaft auf einen EndPoint vom gleichen Typ wie der Endpunkt des Remotehosts festlegen. Die Eigenschaft wird beim erfolgreichen Empfang auf den tatsächlichen Remoteendpunkt aktualisiert.

Die SocketAsyncEventArgs.SocketFlags -Eigenschaft für den e Parameter stellt dem Window Sockets-Dienstanbieter zusätzliche Informationen zur Leseanforderung bereit. Weitere Informationen zum Verwenden dieses Typs finden Sie unter System.Net.Sockets.SocketFlags.

Die folgenden Eigenschaften und Ereignisse für das System.Net.Sockets.SocketAsyncEventArgs -Objekt sind erforderlich, um diese Methode erfolgreich aufzurufen:

Der Aufrufer kann die SocketAsyncEventArgs.UserToken Eigenschaft auf ein beliebiges Benutzerzustandsobjekt festlegen, das vor dem Aufrufen der ReceiveFromAsync Methode gewünscht wird, sodass die Informationen in der Rückrufmethode abgerufen werden können. Wenn der Rückruf mehr Informationen als ein einzelnes Objekt benötigt, kann eine kleine Klasse erstellt werden, die die anderen erforderlichen Zustandsinformationen als Member enthält.

Bei nachrichtenorientierten Sockets wird eine eingehende Nachricht bis zur Gesamtgröße des Puffers in den Puffer platziert. Die SocketAsyncEventArgs.Count Eigenschaften und SocketAsyncEventArgs.Offset bestimmen, wo sich die Daten im Puffer befinden, und die Datenmenge.

Bei Bytestream-Sockets werden eingehende Daten in den Puffer platziert, bis der Puffer gefüllt, die Verbindung geschlossen oder die intern gepufferten Daten erschöpft sind. Die SocketAsyncEventArgs.Count Eigenschaften und SocketAsyncEventArgs.Offset bestimmen, wo sich die Daten im Puffer befinden, und die Datenmenge.

Weitere Informationen

Gilt für:

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

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

Empfängt Daten und gibt den Endpunkt des sendenden Hosts zurück.

public:
 System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveFromResult> ^ ReceiveFromAsync(ArraySegment<System::Byte> buffer, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (ArraySegment<byte> buffer, System.Net.EndPoint remoteEndPoint);
member this.ReceiveFromAsync : ArraySegment<byte> * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As ArraySegment(Of Byte), remoteEndPoint As EndPoint) As Task(Of SocketReceiveFromResult)

Parameter

buffer
ArraySegment<Byte>

Der Puffer für die empfangenen Daten.

remoteEndPoint
EndPoint

Ein Endpunkt vom gleichen Typ wie der Endpunkt des Remotehosts.

Gibt zurück

Eine asynchrone Aufgabe, die mit einer SocketReceiveFromResult abgeschlossen wird, die die Anzahl der empfangenen Bytes und den Endpunkt des sendenden Hosts enthält.

Ausnahmen

remoteEndPoint ist null.

Fehler beim Versuch, auf den Socket zuzugreifen.

Der Socket wurde geschlossen.

Ein Aufrufer in der Aufrufliste verfügt nicht über die erforderlichen Berechtigungen.

Gilt für:

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

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

Empfängt Daten und gibt den Endpunkt des sendenden Hosts zurück.

public:
 System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveFromResult> ^ ReceiveFromAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint);
member this.ReceiveFromAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint) As Task(Of SocketReceiveFromResult)

Parameter

buffer
ArraySegment<Byte>

Der Puffer für die empfangenen Daten.

socketFlags
SocketFlags

Eine bitweise Kombination von SocketFlags-Werten, die beim Empfangen der Daten verwendet werden.

remoteEndPoint
EndPoint

Ein Endpunkt vom gleichen Typ wie der Endpunkt des Remotehosts.

Gibt zurück

Eine asynchrone Aufgabe, die mit einer SocketReceiveFromResult abgeschlossen wird, die die Anzahl der empfangenen Bytes und den Endpunkt des sendenden Hosts enthält.

Ausnahmen

remoteEndPoint ist null.

Fehler beim Versuch, auf den Socket zuzugreifen.

Der Socket wurde geschlossen.

Ein Aufrufer in der Aufrufliste verfügt nicht über die erforderlichen Berechtigungen.

Gilt für:

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

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

Empfängt Daten und gibt den Endpunkt des sendenden Hosts zurück.

public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (Memory<byte> buffer, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveFromResult)

Parameter

buffer
Memory<Byte>

Der Puffer für die empfangenen Daten.

remoteEndPoint
EndPoint

Ein Endpunkt vom gleichen Typ wie der Endpunkt des Remotehosts.

cancellationToken
CancellationToken

Ein Abbruchtoken, das verwendet werden kann, um zu signalisieren, dass der asynchrone Vorgang abgebrochen werden sollte.

Gibt zurück

Eine asynchrone Aufgabe, die mit einer SocketReceiveFromResult abgeschlossen wird, die die Anzahl der empfangenen Bytes und den Endpunkt des sendenden Hosts enthält.

Ausnahmen

remoteEndPoint ist null.

Fehler beim Versuch, auf den Socket zuzugreifen.

Der Socket wurde geschlossen.

Ein Aufrufer in der Aufrufliste verfügt nicht über die erforderlichen Berechtigungen.

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Gilt für:

ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

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

Empfängt Daten und gibt den Endpunkt des sendenden Hosts zurück.

public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveFromResult)

Parameter

buffer
Memory<Byte>

Der Puffer für die empfangenen Daten.

socketFlags
SocketFlags

Eine bitweise Kombination von SocketFlags-Werten, die beim Empfangen der Daten verwendet werden.

remoteEndPoint
EndPoint

Ein Endpunkt vom gleichen Typ wie der Endpunkt des Remotehosts.

cancellationToken
CancellationToken

Ein Abbruchtoken, das verwendet werden kann, um zu signalisieren, dass der asynchrone Vorgang abgebrochen werden sollte.

Gibt zurück

Eine asynchrone Aufgabe, die mit einer SocketReceiveFromResult abgeschlossen wird, die die Anzahl der empfangenen Bytes und den Endpunkt des sendenden Hosts enthält.

Ausnahmen

remoteEndPoint ist null.

Fehler beim Versuch, auf den Socket zuzugreifen.

Der Socket wurde geschlossen.

Ein Aufrufer in der Aufrufliste verfügt nicht über die erforderlichen Berechtigungen.

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Gilt für:

ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken)

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

Empfängt mithilfe der angegebenen SocketFlags ein Datagramm im Datenpuffer und speichert den Endpunkt.

public System.Threading.Tasks.ValueTask<int> ReceiveFromAsync (Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.SocketAddress receivedAddress, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.SocketAddress * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, receivedAddress As SocketAddress, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parameter

buffer
Memory<Byte>

Der Puffer für die empfangenen Daten.

socketFlags
SocketFlags

Eine bitweise Kombination der SocketFlags Werte, die beim Empfangen der Daten verwendet werden.

receivedAddress
SocketAddress

Eine SocketAddress instance, die mit dem Wert des Remotepeers aktualisiert wird, wenn diese Methode zurückgibt.

cancellationToken
CancellationToken

Ein Abbruchtoken, das verwendet werden kann, um zu signalisieren, dass der asynchrone Vorgang abgebrochen werden sollte.

Gibt zurück

Eine asynchrone Aufgabe, die mit einer SocketReceiveFromResult abgeschlossen wird, die die Anzahl der empfangenen Bytes und den Endpunkt des sendenden Hosts enthält.

Ausnahmen

receivedAddress ist null.

Fehler beim Versuch, auf den Socket zuzugreifen.

Der Socket wurde geschlossen.

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Gilt für: