Les données sont reçues avec l’API revc(), comme dans la figure 6. Quand j’appelle recv(), je lui transmets le descripteur du socket ainsi que l’adresse d’une variable dans laquelle je veux recevoir les données, et la taille de cette variable. Elle accepte un quatrième paramètre appelé flags, rarement utilisé ;
Recevoir des données en provenance du serveur

comme je n’en ai pas besoin dans cet exemple, je transmets un 0 pour indiquer cela à l’API.
L’API recv() renvoie la longueur des données reçues. En cas d’erreur, elle renvoie -1. A noter que recv() n’attend pas que toute la variable de données soit remplie pour redonner la main à mon programme. Elle renvoie des données dès qu’il y en a, même si ce n’est qu’un octet.
Selon la vitesse de votre connexion, vous pourriez obtenir beaucoup de données à la fois, ou en obtenir très peu. Il incombe au programme de mettre en tampon ces données jusqu’à ce qu’il reçoive tout ce qui l’intéresse.
Dans le cas de SMTP, les données reçues par le programme sont en ASCII. Vous devrez les convertir en EBCDIC pour les rendre lisibles.
Téléchargez gratuitement cette ressource

Guide de facturation électronique, voie royale pour le DAF et la digitalisation de la fonction finance
Ce livre blanc expose les problématiques auxquelles sont confrontés les DAF modernes et souligne les bénéfices de la facturation électronique pour la trésorerie. Il dévoile également le processus de déploiement de ce projet de transformation digitale que la réglementation rendra bientôt obligatoire.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Cohésion d’équipe & Collaboration numérique : un duo gagnant ?
- Cyber espionnage – Les pirates russes APT29 utilisent les services de stockage en ligne, DropBox et Google Drive
- SEKOIA : de l’intelligence sur les menaces jusqu’à l’automatisation de la réponse !
- Les managers face à l’impact du télétravail
- A la découverte de Keda dans Kubernetes
