Bonjour,
J'ai fait un client/serveur, la communication se passe bien. cependant, je ne parviens pas a envoyer plusieurs fichiers a la suite avec la socket.
sur le client j'ai cree une fonction envoi de fichier :
void EnvoiFichier(char *file, SOCKET sock)
{
char *buffer; // buffer memoire, va recevoir données du serveur
int TailleFichier; // Taille Fichier
FILE *fich; // Pointeur fichier Destination
if ((buffer = (char *)malloc(FICH_MAX_SIZE)) == NULL)
Erreur("Reservation Memoire Impossible !"); // Hum...Raté Windows
if ((fich = fopen(file, "rb")) == NULL)
Erreur("Ouverture Fichier Impossible !"); // Hum...Raté Windows
cout << file << endl;
TailleFichier = fread(buffer, 1, FICH_MAX_SIZE, fich); // Lecture dans FICHIER
if (send(sock, buffer, TailleFichier, 0) < 0)
Erreur("Erreur Transmission du Client !");
free(buffer); // Libère mémoire
fclose(fich); // Fermeture Fichier
}
et la fonction de reception sur le serveur :
void ReceptionFichier(char *file, SOCKET sock)
{
char *buffer; // buffer memoire, va contenir le fichier
int TailleFichier; // Taille Fichier
FILE *fich, *fich2; // Pointeur fichier Source
cout << "Envoi fichier boot.ini." << endl;
if ((fich = fopen("C:\\TEST\\test.txt", "w+b")) == NULL)
Erreur("Ouverture Fichier Impossible !"); // Hum...Raté Windows
if ((TailleFichier = recv(sock, buffer, FICH_MAX_SIZE, 0)) < 0)
Erreur("Erreur Reception du Client !");
fwrite(buffer, 1, TailleFichier, fich); // Ecriture dans FICHIER
fclose(fich); // Fermeture Fichier
cout << "Fichier boot.ini recu." << endl;
}
j'obtiens l'erreur :Erreur Reception du Client !
les blocs fonctionnent, ils etaient auparavant dans ma fonction main pour envoyer un fichier. maintenant, j'appelle ces fonctions d'envois et reception et ca ne marche pas....