Socket.ReceiveMessageFrom 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
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 |
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
- 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
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.
Socket a été fermé.
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
- Connect(EndPoint)
- ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint)
- Available
- Shutdown(SocketShutdown)
- Close()
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
- 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
.
Le AddressFamily du EndPoint utilisé dans ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation) doit correspondre AddressFamily au de utilisé EndPoint dans SendTo.
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.