EMISSION :
fdesc = open(nom_fichier, O_RDONLY);
while((ret_read = read(fdesc, tampon_envoi, sizeof(tampon_envoi))) > 0)
{
ret_send = send(desc, tampon_envoi, ret_read, 0);
if(ret_send == ERREUR)
{
cout<<"erreur send : "<<strerror(errno)<<endl;
exit(0);
}
}
RECEPTION :
fdesc = creat(fichier, S_IRUSR|S_IWUSR);
nb_octet_recu = 0;
do
{
ret_recv = recv(desc, tampon_reception, sizeof(tampon_reception), 0);
if(ret_recv < 0)
{
cout<<"erreur recv() : "<<strerror(errno)<<endl;
close(desc);
exit(0);
}
tampon[ret_recv] = 0;
if(write(fdesc, tampon_reception, ret_recv) == ERREUR)
{
cout<<"erreur lors de l'écriture dans le fichier "<<fichier<<" : "<<strerror(errno)<<endl;
close(desc);
close(fdesc);
exit(0);
}
nb_octet_recu += ret_recv;
}while(ret_recv && (taille_inconnue || (nb_octet_recu < taille_fichier)));