Socket.ReceiveFromAsync 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.
Ü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
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
- 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
- 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
- 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.