1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
void recvF ( int connfd)
{
/*** Declaration des variables ***/
char buffer[256];
// bzero(buffer,256);
int n = 0;
char revbuf[LENGTH];
fgets(buffer,255,stdin);
// bzero(buffer,256);
int fr_block_sz = 0;
/*** Code ***/
n = read(connfd, buffer, 255);
if (n < 0) cout << "Erreur de lecture de socket";
fstream fr ("basecloud.txt",ios::in|ios::out|ios::app);
ofstream inte("intermediaireCloud.txt",ios::out|ios::trunc);
if(!inte )
cerr << "Impossible d'ouvrir le fichier !" << endl;
bzero(revbuf, LENGTH);
while((fr_block_sz = recv(connfd, revbuf, LENGTH, 0)) > 0)
{
revbuf[sizeof(revbuf)]='\0';
inte.write(revbuf,sizeof(revbuf));
if (fr_block_sz == 0 || fr_block_sz != 512)
{
break;
}
}
cout<<"fichier reçu \n ";
inte.close();
ifstream inter("intermediaireCloud.txt");
if( !fr && !inter)
cerr << "Impossible d'ouvrir les fichiers !" << endl;
string IDnvcl,IDcl,infC,INF;
int c=0;
while(inter)
{
getline(inter,IDnvcl);
c++;
istringstream is(IDnvcl);
if (c==1)
{
is >> IDcl;
break;
}
}
cout << IDcl << "\n"<< IDnvcl<<"\n";
string ID,I;
bool test= false;
while (getline(fr,ID))
{
//getline(fr,ID);
cout<< "recherche de client...\n" ;
istringstream iss(ID);
iss >> I;
cout << "ID : "<< I <<" \n";
if (I == IDcl)
{
cout << " le client avec le ID : "<<I<<" existe deja!!..\n";
inter.close ();
fr.close();
test =true;
break ;
exit(0);
}
}
if (!test)
{
cout<<"traitement d'enregistrement de client est en cour...\n";
filebuf *pbuf = inter.rdbuf();
size_t size =pbuf ->pubseekoff(0,inter.end,inter.in);
pbuf->pubseekpos (0,inter.in);
char* buff=new char[size];
pbuf->sgetn (buff,size);
if(size<0)
cerr<< "erreur";
fr.write(buff,size);
inter.close();
fr.close();
delete [] buff;
cout<<"client enregistré !! ...\n" ;
}} |
Partager