Socket.ReceiveMessageFromAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| ReceiveMessageFromAsync(SocketAsyncEventArgs) |
Commence à recevoir de manière asynchrone le nombre spécifié d’octets de données dans l’emplacement spécifié dans la mémoire tampon de données, à l’aide du point de terminaison et des informations de paquet spécifiées SocketFlags. |
| ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint) |
Reçoit des données et retourne des informations supplémentaires sur l’expéditeur du message. |
| ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint) |
Reçoit des données et retourne des informations supplémentaires sur l’expéditeur du message. |
| ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken) |
Reçoit des données et retourne des informations supplémentaires sur l’expéditeur du message. |
| ReceiveMessageFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken) |
Reçoit des données et retourne des informations supplémentaires sur l’expéditeur du message. |
ReceiveMessageFromAsync(SocketAsyncEventArgs)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Commence à recevoir de manière asynchrone le nombre spécifié d’octets de données dans l’emplacement spécifié dans la mémoire tampon de données, à l’aide du point de terminaison et des informations de paquet spécifiées SocketFlags.
public:
bool ReceiveMessageFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveMessageFromAsync(System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveMessageFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveMessageFromAsync (e As SocketAsyncEventArgs) As Boolean
Paramètres
Objet SocketAsyncEventArgs à utiliser pour cette opération de socket asynchrone.
Retours
true si l’opération d’E/S est en attente. L’événement Completed sur le e paramètre est déclenché à l’achèvement de l’opération.
false si l’opération d’E/S s’est terminée de façon synchrone. Dans ce cas, l’événement Completed sur le e paramètre ne sera pas déclenché et l’objet e transmis en tant que paramètre peut être examiné immédiatement après l’appel de méthode pour récupérer le résultat de l’opération.
Exceptions
Impossible d’avoir la RemoteEndPoint valeur Null.
Il Socket a été fermé.
Une erreur s’est produite lors de la tentative d’accès au socket.
Remarques
La ReceiveMessageFromAsync méthode est utilisée principalement pour recevoir des données de message sur un socket sans connexion. L’adresse locale du socket doit être connue. Cette méthode ne peut être utilisée qu’avec le datagramme et les sockets bruts. Le socket doit être initialisé avec le type de socket défini sur Dgram ou Raw avant d’appeler cette méthode. Pour ce faire, lorsque le socket est construit à l’aide Socketde .
L’appelant doit définir la SocketAsyncEventArgs.RemoteEndPoint propriété sur un EndPoint type identique au point de terminaison de l’hôte distant. La propriété sera mise à jour lors de la réception réussie vers le point de terminaison distant réel.
Les propriétés et événements suivants sur l’objet System.Net.Sockets.SocketAsyncEventArgs sont nécessaires pour appeler correctement cette méthode :
L’appelant peut définir la SocketAsyncEventArgs.UserToken propriété sur n’importe quel objet d’état utilisateur souhaité avant d’appeler la ReceiveMessageFromAsync méthode, afin que les informations soient récupérables dans la méthode de rappel. Si le rappel a besoin de plus d’informations qu’un seul objet, une petite classe peut être créée pour contenir les autres informations d’état requises en tant que membres.
Pour les sockets orientés messages, un message entrant est placé dans la mémoire tampon jusqu’à la taille totale de la mémoire tampon. Les SocketAsyncEventArgs.Count propriétés et SocketAsyncEventArgs.Offset les propriétés déterminent où, dans la mémoire tampon, les données sont placées et la quantité de données.
La ReceiveMessageFromAsync méthode définit automatiquement l’option truePacketInformation de socket sur la première fois qu’elle est appelée pour une donnée Socket. Toutefois, l’objet IPPacketInformation sera valide uniquement pour les paquets qui arrivent à l’ordinateur local une fois l’option de socket définie. Si un socket est envoyé des paquets entre le moment où le socket est lié à un point de terminaison local (explicitement par la Bind méthode ou implicitement par l’un des Connectpaquets , ConnectAsyncou SendToAsyncSendTométhodes) et le premier appel à la méthode, les appels à ReceiveMessageFromAsync la ReceiveMessageFromAsync méthode entraînent des objets non valides IPPacketInformation pour ces paquets.
Pour vous assurer que tous les IPPacketInformation objets sont valides, une application doit définir l’option PacketInformationtrue de socket avant qu’elle soit liée à un point de terminaison local à l’aide de la SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) méthode.
Une application peut examiner les objets résultants IPPacketInformation s’il doit savoir si le datagramme a été envoyé à l’aide d’une monodiffusion, d’une multidiffusion ou d’une adresse de diffusion.
Voir aussi
S’applique à
ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Reçoit des données et retourne des informations supplémentaires sur l’expéditeur du message.
public:
System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveMessageFromResult> ^ ReceiveMessageFromAsync(ArraySegment<System::Byte> buffer, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(ArraySegment<byte> buffer, System.Net.EndPoint remoteEndPoint);
member this.ReceiveMessageFromAsync : ArraySegment<byte> * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As ArraySegment(Of Byte), remoteEndPoint As EndPoint) As Task(Of SocketReceiveMessageFromResult)
Paramètres
- buffer
- ArraySegment<Byte>
Mémoire tampon pour les données reçues.
- remoteEndPoint
- EndPoint
Point de terminaison du même type que le point de terminaison de l’hôte distant.
Retours
Tâche asynchrone qui se termine avec un SocketReceiveMessageFromResult nombre d’octets reçus et des informations supplémentaires sur l’hôte d’envoi.
Exceptions
L’objet Socket a été fermé.
remoteEndPoint a la valeur null.
Vous devez appeler la méthode Bind avant d’effectuer cette opération.
S’applique à
ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Reçoit des données et retourne des informations supplémentaires sur l’expéditeur du message.
public:
System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveMessageFromResult> ^ ReceiveMessageFromAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint);
member this.ReceiveMessageFromAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint) As Task(Of SocketReceiveMessageFromResult)
Paramètres
- buffer
- ArraySegment<Byte>
Mémoire tampon pour les données reçues.
- socketFlags
- SocketFlags
Combinaison de bits de valeurs SocketFlags qui seront utilisées lors de la réception des données.
- remoteEndPoint
- EndPoint
Point de terminaison du même type que le point de terminaison de l’hôte distant.
Retours
Tâche asynchrone qui se termine avec un SocketReceiveMessageFromResult nombre d’octets reçus et des informations supplémentaires sur l’hôte d’envoi.
Exceptions
L’objet Socket a été fermé.
remoteEndPoint a la valeur null.
Vous devez appeler la méthode Bind avant d’effectuer cette opération.
S’applique à
ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Reçoit des données et retourne des informations supplémentaires sur l’expéditeur du message.
public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(Memory<byte> buffer, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveMessageFromAsync : Memory<byte> * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As Memory(Of Byte), remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveMessageFromResult)
Paramètres
- remoteEndPoint
- EndPoint
Point de terminaison du même type que le point de terminaison de l’hôte distant.
- cancellationToken
- CancellationToken
Un jeton d’annulation qui peut être utilisé pour signaler que l’opération asynchrone doit être annulée.
Retours
Tâche asynchrone qui se termine avec un SocketReceiveMessageFromResult nombre d’octets reçus et des informations supplémentaires sur l’hôte d’envoi.
Exceptions
L’objet Socket a été fermé.
remoteEndPoint a la valeur null.
Vous devez appeler la méthode Bind avant d’effectuer cette opération.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
S’applique à
ReceiveMessageFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Reçoit des données et retourne des informations supplémentaires sur l’expéditeur du message.
public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveMessageFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveMessageFromResult)
Paramètres
- socketFlags
- SocketFlags
Combinaison de bits de valeurs SocketFlags qui seront utilisées lors de la réception des données.
- remoteEndPoint
- EndPoint
Point de terminaison du même type que le point de terminaison de l’hôte distant.
- cancellationToken
- CancellationToken
Un jeton d’annulation qui peut être utilisé pour signaler que l’opération asynchrone doit être annulée.
Retours
Tâche asynchrone qui se termine avec un SocketReceiveMessageFromResult nombre d’octets reçus et des informations supplémentaires sur l’hôte d’envoi.
Exceptions
L’objet Socket a été fermé.
remoteEndPoint a la valeur null.
Vous devez appeler la méthode Bind avant d’effectuer cette opération.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.