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 cette ressource

EDI : Pratiques de Performance Opérationnelle
Comment mieux satisfaire les directions métiers, rationaliser les échanges, améliorer la qualité des données et gérer l’obsolescence ? Découvrez dans ce livre blanc, les principaux enjeux autour de l’échange de données informatisé, les technologies complémentaires à l’EDI pour gagner en efficacité et les innovations d’offres de services fournis par Generix Group pour digitaliser vos processus.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Vidéo « Accessibilité numérique » chez Microsoft
- Asklépian : des tests d’intrusion à 360° grâce à l’IA pour lutter contre les failles de sécurité
- Padok « faire du Cloud et de l’infrastructure, un véritable accélérateur business »
- Le numérique responsable
- Delinea : la réponse aux exigences d’accès des entreprises hybrides modernes
