Méthode ReceiveFromSpecificClient

Présentation

Type :

Méthode

Disponible à partir de :

V1.0.4.0

Tâche

Lire les données enregistrées dans le tampon de réception du client identifié par une adresse IP et un port source et les supprimer du tampon si aucune erreur n'a été détectée pendant leur lecture

Description fonctionnelle

Lit les données enregistrées dans le tampon de réception du client identifié par une adresse IP et un port source et les supprime du tampon si aucune erreur n'a été détectée pendant leur lecture.

La valeur de retour UDINT indique le nombre d’octets écrits dans la mémoire tampon fournie par l’application.

Pour plus d'informations sur les méthodes de réception, consultez la section Méthode de réception.

Considérations pour les connexions en utilisant TLS

Le fonctionnement des méthodes Peek et Receive peut être différent pour les connexions avec et sans la sécurité TLS. En particulier si des paquets volumineux sont échangés. Lors de l'exécution des méthodes sur une connexion qui utilise TLS, il peut être nécessaire d'exécuter des appels de méthode jusqu'à la copie ou le déplacement de toutes les données déplacées sur la mémoire tampon de l'application. Dans tous les cas, vérifiez avant le traitement des données, la quantité de données copiées ou déplacées et si les données sont complètes.

Interface

Entrée

Type de données

Plage valide

Description

i_sClientIP

STRING(15)

-

Adresse IP du client connecté à partir duquel les données doivent être lues.

i_uiClientPort

UINT

1…65 535

Port source du client connecté à partir duquel les données doivent être lues.

i_pbyReceiveBuffer

POINTER TO BYTE

-

Adresse de départ du tampon à partir de laquelle les données reçues doivent être écrites.

i_udiReceiveBufferSize

UDINT

1…2 147 483 647

Nombre d’octets à lire.

NOTE : La valeur ne doit pas dépasser la taille de la mémoire tampon.
NOTE : Pour empêcher tout accès non autorisé, par exemple un accès de pointeur (hors limites) dans la mémoire, utilisez l'opérateur arithmétique SIZEOF avec le tampon cible pour déterminer la valeur de i_udiReceiveBufferSize.

In_Out

Type de données

Plage valide

Description

iq_udiFillLevel

UDINT

1…2 147 483 647

Indique le niveau de remplissage du tampon.

Avant l’appel de la fonction :

Les données sont écrites à partir de ce point.

Après l’appel de la fonction :

Mise à jour en ajoutant le nombre d’octets écrits sur la valeur d’origine.

Utilisé par

  • FB_TCPServer/FB_TCPServer2