Réception de données
1. recv :
L’appel recv() permet de recevoir des données. recv() ne peut être utilisé qu’avec une socket connecté.
a) Syntaxe :
#include <sys/types.h>
#include <sys/socket.h>
int recv(int ss, char *msg, int len, int flags);
b) Paramètres d’entrées
1. ss : représente descripteur qui a été renvoyé par l’appel accept().
2. msg : représente un tampon contenant les octets à envoyer au client
3. len indique le nombre d'octets à envoyer
4. flags : correspond au type d'envoi à adopter :
MSG OOB : les données urgentes (Out Of Band), MSG PEEK : les données lues ne sont pas retirées de la file de réception, 0 : envoi normal
c) Valeurs
retournées :
La fonction recv() renvoie le nombre d'octets effectivement lus. SOCKET_ERROR en cas d’erreur
2. read :
La fonction read() permet de lire dans un socket (réception des données) en mode connecté (TCP)
a) Syntaxe :
#include <unistd.h>
int read(int ss, char *buf, int len);
b) Paramètres d’entrées
1. ss : représente descripteur qui a été renvoyé par l’appel accept().
2. msg : représente un tampon qui sera rempli avec les octets reçus
3. len indique le nombre d'octets à envoyer
c) Valeurs retournées :
La fonction read() renvoie le nombre d'octets effectivement envoyés. SOCKET_ERROR en cas d’erreur.
3. recvfrom :
L’appel recvfrom()permet de lire dans un socket en mode non connecté
a) Syntaxe :
#include <sys/types.h>
#include <sys/socket.h>
recvfrom (int s, char *buf, int len, int flags, struct sockaddr *from, int frlen)
b) Paramètres d’entrées
1. s : représente descripteur qui a été renvoyé par l’appel socket().
2. msg : représente un tampon contenant les octets à envoyer au client
3. len indique le nombre d'octets à envoyer
4. flags : correspond au type d'envoi à adopter :
MSG OOB : les données urgentes (Out Of Band), MSG PEEK : les données lues ne sont pas retirées de la file de réception, 0 : envoi normal
· from : l’adresse de l’émetteur
· tolen : la taille de l’adresse de l’émetteur
c) Valeurs retournées :
La fonction s recvfrom() renvoie le nombre d'octets effectivement lus . SOCKET_ERROR en cas d’erreur.