J'ai créé de petits programmes socket (client/serveur). Le client transférera tous les formats de fichiers au serveur. Le problème auquel je suis confronté maintenant est - J'ai lu le fichier mp3 en mode binaire et envoyé au serveur. Le serveur lit le contenu du tampon et crée un fichier. Mais quand j'essaie d'ouvrir le fichier, il ne s'ouvre pas. Mais la taille reste la même que celle d'origine. Quelqu'un peut-il indiquer où je me trompe? Voici mon code côté serveur:Programmation de socket en c
recv(newSocket,fileSize,50,0); //Receiving file size
// buffer=malloc(atoi(fileSize));
int i=0;
recv(newSocket,buffer,atoi(fileSize),0);
fwrite(buffer,1,atoi(fileSize),out);
côté client: fread (données, 1, lSize, fichier);
sprintf(temp,"%ld",lSize);
send(socketDes,temp,strlen(temp),0);
send(socketDes,data,strlen(data),0);
Vérifier les valeurs de retour! recv, envoyer, fread etc. tous retournent quelque chose. Ce quelque chose est très important. – nos
Je suppose que l'envoi ne fonctionne pas correctement. essayez int check = send(); Si la vérification est égale à la température, le travail d'envoi est correct. et si vous pouvez essayer ouvrir le fichier avec certains SW comme Audacity – EsmaeelE