Freigeben über


Socket.ReceiveFromAsync Methode

Definition

Überlädt

Name Beschreibung
ReceiveFromAsync(SocketAsyncEventArgs)

Beginnt mit dem asynchronen Empfangen von Daten von einem 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 ein Datagramm im Datenpuffer mithilfe des angegebenen SocketFlagsUnd speichert den Endpunkt.

ReceiveFromAsync(SocketAsyncEventArgs)

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

Beginnt mit dem asynchronen Empfangen von Daten von einem 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 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 e als Parameter übergebene Objekt kann sofort untersucht werden, nachdem der Methodenaufruf zurückgegeben wird, um das Ergebnis des Vorgangs abzurufen.

Ausnahmen

Der RemoteEndPoint Wert darf nicht null sein.

Ein Socketvorgang wurde bereits mit dem SocketAsyncEventArgs im e Parameter angegebenen Objekt ausgeführt.

Das Socket wurde geschlossen.

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Hinweise

Die ReceiveFromAsync Methode wird hauptsächlich verwendet, um Daten in einem verbindungslosen Socket zu empfangen. Die lokale Adresse des Sockets muss bekannt sein.

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

Die SocketAsyncEventArgs.SocketFlags Eigenschaft für den e Parameter stellt den Window Sockets-Dienstanbieter mit zusätzlichen Informationen zur Leseanforderung bereit. Weitere Informationen zur Verwendung dieses Parameters 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 Benutzerstatusobjekt 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, um die anderen erforderlichen Statusinformationen als Member zu speichern.

Für nachrichtenorientierte Sockets wird eine eingehende Nachricht bis zur Gesamtgröße des Puffers in den Puffer eingefügt. Die Eigenschaften bestimmen, wo im Puffer die Daten platziert werden, und die Datenmenge.The SocketAsyncEventArgs.Count properties SocketAsyncEventArgs.Offset determine where in the buffer the data is placed and the amount of data.

Bei Bytestream-Sockets werden eingehende Daten in den Puffer eingefügt, bis der Puffer gefüllt ist, die Verbindung geschlossen wird oder die intern gepufferten Daten erschöpft sind. Die Eigenschaften bestimmen, wo im Puffer die Daten platziert werden, und die Datenmenge.The SocketAsyncEventArgs.Count properties SocketAsyncEventArgs.Offset determine where in the buffer the data is placed and the amount of data.

Weitere Informationen

Gilt für:

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Quelle:
Socket.Tasks.cs
Quelle:
Socket.Tasks.cs
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 desselben Typs wie der Endpunkt des Remotehosts.

Gibt zurück

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

Ausnahmen

remoteEndPoint ist null.

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Das Socket wurde geschlossen.

Ein Aufrufer im Aufrufstapel 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
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 aus SocketFlags-Werten, die beim Empfangen der Daten verwendet werden.

remoteEndPoint
EndPoint

Ein Endpunkt desselben Typs wie der Endpunkt des Remotehosts.

Gibt zurück

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

Ausnahmen

remoteEndPoint ist null.

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Das Socket wurde geschlossen.

Ein Aufrufer im Aufrufstapel 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
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 desselben Typs wie der Endpunkt des Remotehosts.

cancellationToken
CancellationToken

Ein Abbruchtoken, das verwendet werden kann, um den asynchronen Vorgang zu signalisieren, sollte abgebrochen werden.

Gibt zurück

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

Ausnahmen

remoteEndPoint ist null.

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Das Socket wurde geschlossen.

Ein Aufrufer im Aufrufstapel 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
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 aus SocketFlags-Werten, die beim Empfangen der Daten verwendet werden.

remoteEndPoint
EndPoint

Ein Endpunkt desselben Typs wie der Endpunkt des Remotehosts.

cancellationToken
CancellationToken

Ein Abbruchtoken, das verwendet werden kann, um den asynchronen Vorgang zu signalisieren, sollte abgebrochen werden.

Gibt zurück

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

Ausnahmen

remoteEndPoint ist null.

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Das Socket wurde geschlossen.

Ein Aufrufer im Aufrufstapel 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
Quelle:
Socket.Tasks.cs
Quelle:
Socket.Tasks.cs

Empfängt ein Datagramm im Datenpuffer mithilfe des angegebenen SocketFlagsUnd 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 Instanz, die mit dem Wert des Remotespeers aktualisiert wird, wenn diese Methode zurückgegeben wird.

cancellationToken
CancellationToken

Ein Abbruchtoken, das verwendet werden kann, um den asynchronen Vorgang zu signalisieren, sollte abgebrochen werden.

Gibt zurück

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

Ausnahmen

receivedAddress ist null.

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Das Socket wurde geschlossen.

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

Gilt für: