Main

Référence : Langage Arduino : [ Mini | Standard | Etendue | Maxi ] Librairies : [ Vue d'ensemble | Synthèse ] Infos : [ Comparaison | Changements ]
LibrairieRedFly

uint16_t socketRead(uint8_t *socket, uint16_t *len, uint8_t ip[], uint16_t *port, uint8_t dst[], uint16_t dst_size)


Description

Cette fonction lit les données sur la ligne réseau et les met dans un buffer.

Syntaxe

uint16_t socketRead(uint8_t *socket, uint16_t *len, uint8_t ip[], uint16_t *port, uint8_t dst[], uint16_t dst_size)

Paramètres

  • socket : Identifiant de la ligne réseau (fixé par la fonction ou bien si est fixé lors de l'appel de la fonction, ne renvoie des données que de cette ligne réseau) - mettre 0xFF pour écoute de toutes les lignes réseaux disponibles.
  • len : longueur totale des données reçues (en octets)
  • ip - Server IP address
  • port - Server port
  • dst - Le tableau de byte buffer de réception
  • dst_size : la taille du buffer de réception

Example:

  uint8_t socket=0xFF; //0xFF = return data from all socket, otherwise return only data from specialized socket
  uint16_t len;        //complete data length, that is available
  uint8_t ip[4];       //source IP, only on UDP connection
  uint16_t port        //source port, only on UDP connection
  uint8_t dst[64];     //destination buffer for the data
  uint16_t d_size=64;  //size of destination buffer
  uint16_t received_len;
  received_len = socketRead(&socket, &len, ip, &port, dst, d_size)

Valeur renvoyée

Valeurs renvoyées dans les variables passées en paramètres

  • Renvoie les données dans le tableau dst[]
  • renvoie la valeur de la ligne où des données sont disponibles dans variable socket
  • renvoie la valeur de la longueur totale des données reçues dans la variable len

Valeur renvoyée par la fonction (unsigned int) :

  • renvoie 0 si aucune donnée n'est reçue.
  • renvoie le nombre de données mises dans le tableau destination (=le nombre de données lues)
  • renvoie 0xFFFF si ligne réseau est fermée.

Exemple

Commentaires utilisateurs

Aucun commentaire


Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino ou à l'adresse suivante : support_at_mon-club-elec_point_fr

Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.

La présente traduction française commentée a été réalisée par Xavier HINAULT (2010-2012) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.

Cette page est une création originale de X. HINAULT