Socket.BeginReceiveMessageFrom 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.
Commence à recevoir de façon asynchrone le nombre spécifié d’octets de données à l’emplacement spécifié de la mémoire tampon de données, à l’aide du point de terminaison et des informations de paquet spécifiées SocketFlags.
public:
IAsyncResult ^ BeginReceiveMessageFrom(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ % remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceiveMessageFrom(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceiveMessageFrom(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginReceiveMessageFrom : byte[] * int * int * System.Net.Sockets.SocketFlags * EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveMessageFrom (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult
Paramètres
- offset
- Int32
Position de base zéro dans le buffer paramètre auquel stocker les données.
- size
- Int32
Nombre d’octets à recevoir.
- socketFlags
- SocketFlags
Combinaison au niveau du bit des SocketFlags valeurs.
- remoteEP
- EndPoint
Référence à un EndPoint du même type que le point de terminaison de l’hôte distant à mettre à jour sur la réception synchrone.
- callback
- AsyncCallback
Délégué AsyncCallback .
- state
- Object
Objet qui contient des informations d’état pour cette requête.
Retours
Qui IAsyncResult fait référence à la lecture asynchrone.
Exceptions
.NET Framework et .NET 5 et versions antérieures uniquement : une erreur s’est produite lors de la tentative d’accès au socket.
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 offset paramètre.
Il Socket a été fermé.
Remarques
Important
Il s’agit d’une API de compatibilité. Nous vous déconseillons d’utiliser les méthodes APM (Begin* et End*) pour le nouveau développement. Utilisez plutôt les Taskéquivalents basés sur les valeurs.
Vous pouvez passer un rappel qui s’implémente AsyncCallbackBeginReceiveMessageFrom pour être informé de l’achèvement de l’opération. Notez que si la pile réseau sous-jacente termine l’opération de façon synchrone, le rappel est exécuté en ligne, pendant l’appel à BeginReceiveMessageFrom. Dans ce cas, la CompletedSynchronously propriété sur le retour IAsyncResult sera définie pour true indiquer que la méthode s’est terminée de façon synchrone. Utilisez la AsyncState propriété de l’objet IAsyncResult d’état passé à la BeginReceiveMessageFrom méthode.
L’opération asynchrone BeginReceiveMessageFrom doit être effectuée en appelant la EndReceiveMessageFrom méthode. En règle générale, la méthode est appelée par le AsyncCallback délégué. EndReceiveMessageFrom bloque le thread appelant jusqu’à ce que l’opération soit terminée.
Pour annuler une opération en attente BeginReceiveMessageFrom, appelez la Close méthode.
Cette méthode lit les données dans le buffer paramètre et capture le point de terminaison de l’hôte distant à partir duquel les données sont envoyées, ainsi que des informations sur le paquet reçu. Pour plus d’informations sur la récupération de ce point de terminaison, reportez-vous à EndReceiveMessageFrom. Cette méthode est la plus utile si vous envisagez de recevoir de manière asynchrone des datagrammes sans connexion à partir d’un hôte inconnu ou de plusieurs hôtes.
Note
Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
Note
Le contexte d’exécution (le contexte de sécurité, l’utilisateur emprunt d’identité et le contexte appelant) est mis en cache pour les méthodes asynchrones Socket . Après la première utilisation d’un contexte particulier (une méthode asynchrone Socket spécifique, une instance spécifique et un rappel spécifique Socket ), les utilisations suivantes de ce contexte verront une amélioration des performances.