Ok merci mala92 j'ai pu avancer un peu et je n'ai plus d'erreur.
Par contre, mon 2nd RECV ne reçoit pas la totalité du message.
Pourtant j'ai vérifié toutes mes variables, et elles ont la bonne valeur.
J'envoie un message de taille 1 600 000 et je reçoit un message taille 33580.
L'envoi du CLIENT :
send(idSocket, contenuBackup, result, 0); // ici result = 1 600 000
La Réception du SERVEUR :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| char* bufferBAK = new char[sizeBuffer]; // sizeBuffer = 1 600 000
nbCharBAK = recv(idNewSocket, bufferBAK, sizeBuffer, 0);
if( nbCharBAK == SOCKET_ERROR )
printf("\nERREUR RECV2 : %d", GetLastError());
else
{
FILE *leBackup;
char *destBAK = "C:\\SQLBACKUP\\TrucMuche.bak";
cout << "NbCharBAK: " << nbCharBAK << endl; // nbCharBAK = 33 580 ... Problème ici!
// Du coup le fichier est créé mais incomplet...
if( leBackup = fopen(destBAK, "wb") )
{
fwrite(bufferBAK, 1, nbCharBAK, leBackup);
}
else
printf("\nErreur Creation Fichier BACKUP");
fclose(leBackup);
return "BAK Received!";
} |
Partager