Bonjour à tous,
Je dois transférer un fchier par socket d'un client vers un serveur.
Pour ce faire, je souhaite en premier lieu, envoyer une structrue contenant la taille et le nom du fichier. Le rpoblème est que si je récupère bien la taille, je n'ai pas le nom du fichier
Cette structure est déclarée dans mon client et dans mon serveur
struct head
{
int size;
char *FichierTransfertSock;
};
Côté client :
struct head entete;
// Envoi des références du fichier à* transférer
entete.size=TailleFichier(FichierTransfert);
entete.FichierTransfertSock = FichierTransfert;
nbchar = send(sock, (char *)&entete, sizeof(struct head),0);
if (nbchar != sizeof(entete))
{
printf("erreur envoi structure head");
close(sock);
exit(2);
}
J'ai fait de sprintf pour vérifier que les éléments de ma strcuture soit bien valorisé et c'est ok.
Côté serveur :
struct head entete;
nbchar = recv(sock_service,(char *)&entete,sizeof(struct head),0);
printf("fichier à créer : %s Taille fichier : %d\n",entete.FichierTransfertSock,entete.size);
Les printf me donnent le résultat suivant :
fichier à créer : Taille fichier : 256
Forcément derrière cela me pose un problème puisque le client m'envoie des lignes que je dois stocker dans un fichier pour lequel je n'ai pas de nom......
Merci d'avance pour l'aide que vous pourrez m'apporter.