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.

 

 

 

 


آخر تعديل: الثلاثاء، 5 مارس 2024، 11:41 PM