Partager via


Socket.ReceiveMessageFrom Méthode

Définition

Surcharges

ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation)

Reçoit le nombre d’octets de données spécifié à l’emplacement de la mémoire tampon spécifié à l’aide des SocketFlags spécifiés, puis stocke les informations de paquet et de point de terminaison.

ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation)

Reçoit le nombre d’octets de données spécifié à l’emplacement de la mémoire tampon spécifié à l’aide des socketFlags spécifiés, puis stocke les informations de paquet et de point de terminaison.

ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Reçoit le nombre d’octets de données spécifié à l’emplacement de la mémoire tampon spécifié à l’aide des SocketFlags spécifiés, puis stocke les informations de paquet et de point de terminaison.

public:
 int ReceiveMessageFrom(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags % socketFlags, System::Net::EndPoint ^ % remoteEP, [Runtime::InteropServices::Out] System::Net::Sockets::IPPacketInformation % ipPacketInformation);
public int ReceiveMessageFrom (byte[] buffer, int offset, int size, ref System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, out System.Net.Sockets.IPPacketInformation ipPacketInformation);
member this.ReceiveMessageFrom : byte[] * int * int * SocketFlags * EndPoint * IPPacketInformation -> int
Public Function ReceiveMessageFrom (buffer As Byte(), offset As Integer, size As Integer, ByRef socketFlags As SocketFlags, ByRef remoteEP As EndPoint, ByRef ipPacketInformation As IPPacketInformation) As Integer

Paramètres

buffer
Byte[]

Tableau de type Byte qui est l’emplacement de stockage des données reçues.

offset
Int32

La position dans le paramètre buffer pour stocker les données reçues.

size
Int32

Nombre d'octets à recevoir.

socketFlags
SocketFlags

Combinaison d’opérations de bits des valeurs SocketFlags.

remoteEP
EndPoint

Référence à un EndPoint du même type que le point de terminaison de l’hôte distant à mettre à jour en cas de réception réussie.

ipPacketInformation
IPPacketInformation

IPPacketInformation contenant des informations d’adresse et d’interface.

Retours

Nombre d’octets reçus.

Exceptions

buffer a la valeur null.

-ou-

remoteEP a la valeur null.

offset est inférieur à 0.

- ou -

offset est supérieur à la longueur de buffer.

- ou -

size est inférieur à 0.

- ou -

size est supérieur à la longueur de buffer moins la valeur du paramètre de décalage.

socketFlags n’est pas une combinaison valide de valeurs.

- ou -

La propriété LocalEndPoint n'a pas été définie.

- ou -

Le .NET Framework s'exécute sur un processeur AMD 64 bits.

- ou -

Une erreur s’est produite pendant la tentative d’accès au socket.

Remarques

La ReceiveMessageFrom méthode lit les données dans le buffer paramètre, retourne le nombre d’octets correctement lus et capture le point de terminaison de l’hôte distant à partir duquel les données ont été envoyées, ainsi que des informations sur le paquet reçu.

La ReceiveMessageFrom méthode est principalement utilisée 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 des datagrammes et des sockets bruts. Le socket doit être initialisé avec le type de socket défini sur Dgram ou Raw avant d’appeler cette méthode. Cette opération peut être effectuée lorsque le socket est construit à l’aide de Socket.

Pour les sockets orientés messages, un message entrant est placé dans le buffer paramètre jusqu’à la taille totale spécifiée dans le size paramètre . Le offset paramètre détermine où les buffer données sont placées. La quantité réelle de données placées dans est buffer retournée par la ReceiveMessageFrom méthode .

La ReceiveMessageFrom méthode définit automatiquement l’option PacketInformation socket sur true la première fois qu’elle est appelée pour un donné Socket. Toutefois, l’objet retourné IPPacketInformation n’est valide que pour les paquets qui arrivent sur l’ordinateur local une fois l’option de socket définie. Si un socket est envoyé des paquets entre le moment où il est lié à un point de terminaison local (explicitement par la Bind méthode ou implicitement par l’une Connectdes méthodes , ConnectAsync, SendToouSendToAsync) et son premier appel à la méthode, les appels à ReceiveMessageFrom la ReceiveMessageFrom méthode retournent des objets non valides IPPacketInformation pour ces paquets.

Pour s’assurer que tous les IPPacketInformation objets sont valides, une application doit définir l’option PacketInformation de socket sur true avant d’être liée à un point de terminaison local à l’aide de la SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) méthode .

Une application peut examiner le ipPacketInformation paramètre si elle doit savoir si le datagramme a été envoyé à l’aide d’une adresse de monodiffusion, de multidiffusion ou de diffusion.

Notes

Le AddressFamily du utilisé dans ReceiveFrom doit correspondre au AddressFamily de utilisé EndPoint dans SendToEndPoint .

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

Voir aussi

S’applique à

ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Reçoit le nombre d’octets de données spécifié à l’emplacement de la mémoire tampon spécifié à l’aide des socketFlags spécifiés, puis stocke les informations de paquet et de point de terminaison.

public:
 int ReceiveMessageFrom(Span<System::Byte> buffer, System::Net::Sockets::SocketFlags % socketFlags, System::Net::EndPoint ^ % remoteEP, [Runtime::InteropServices::Out] System::Net::Sockets::IPPacketInformation % ipPacketInformation);
public int ReceiveMessageFrom (Span<byte> buffer, ref System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, out System.Net.Sockets.IPPacketInformation ipPacketInformation);
member this.ReceiveMessageFrom : Span<byte> * SocketFlags * EndPoint * IPPacketInformation -> int
Public Function ReceiveMessageFrom (buffer As Span(Of Byte), ByRef socketFlags As SocketFlags, ByRef remoteEP As EndPoint, ByRef ipPacketInformation As IPPacketInformation) As Integer

Paramètres

buffer
Span<Byte>

de Span<T> type Byte qui est l’emplacement de stockage pour les données reçues.

socketFlags
SocketFlags

Combinaison d’opérations de bits des valeurs SocketFlags.

remoteEP
EndPoint

Référence à un EndPoint du même type que le point de terminaison de l’hôte distant à mettre à jour en cas de réception réussie.

ipPacketInformation
IPPacketInformation

IPPacketInformation contenant des informations d’adresse et d’interface.

Retours

Nombre d’octets reçus.

Exceptions

L’objet Socket a été fermé.

RemoteEP EndPoint est null.

L’objet Socket n’est pas en mode blocage et ne peut pas accepter cet appel synchrone. Vous devez appeler la méthode Bind avant d’effectuer cette opération.

S’applique à