Envoi de données
1. Send :
L’appel send() permet d’envoyer des données au destinataire d’une socket. send() ne peut être utilisé qu’avec une socket connecté.
a) Syntaxe :
#include <sys/types.h>
#include <sys/socket.h>
int send(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), 0 : envoi normal
c) Valeurs
retournées :
La fonction send() renvoie le nombre d'octets effectivement envoyés. SOCKET_ERROR en cas d’erreur
2. write :
La fonction write() permet d'écrire dans un socket (envoyer des données) en mode connecté (TCP)
a) Syntaxe :
#include <unistd.h>
int write(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 contenant les octets à envoyer au client
3.len indique le nombre d'octets à envoyer
c) Valeurs retournées :
La fonction write() renvoie le nombre d'octets effectivement envoyés. SOCKET_ERROR en cas d’erreur.
3. sendto :
L’appel sendto() permet d’envoyer des données au destinataire d’une socket en mode non connecté.
a) Syntaxe :
#include <sys/types.h>
#include <sys/socket.h>
sendto (int s, char *buf, int len, int flags, struct sockaddr *to, int tolen)
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)
0 : envoi normal
5.to : l’adresse destinataire
6.tolen : la taille de l’adresse destinataire
c) Valeurs
retournées :
La fonction sendto() renvoie le nombre d'octets effectivement envoyés. SOCKET_ERROR en cas d’erreur