[C]socket : transfert d'image, video, pdf etc
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
salut a tous !
voila, j'ai un soucis en c :
je souhaite transmettre des fichier via socket pour un p2p. le probleme est que le transfert se passe mal sans que je comprenne ... voila mon code :
STRUCTURE COMMUNE :
COTE SERVEUR
COTE CLIENT :
je signale juste que le transfert de fichier txt marche trés bien ...
merci d'avance !
voila, j'ai un soucis en c :
je souhaite transmettre des fichier via socket pour un p2p. le probleme est que le transfert se passe mal sans que je comprenne ... voila mon code :
STRUCTURE COMMUNE :
typedef struct
{
char Buffer[500];
int finFich;
}sFich;
COTE SERVEUR
void RecevoirFich(SOCKET sock , char * Trame)
{
char tmpNom[499];
char tst;
int sortie = 0;
int lngRcv;
int i = 0 , j = 1;
for(i,j; Trame[j] != '\0';i++,j++)
tmpNom[i] = Trame[j];
tmpNom[i] = '\0';
printf("3 - reception fichier : %s\n",tmpNom);
FILE * Fich = fopen(tmpNom,"wb");
sFich buff;
buff.finFich = 0;
if(Fich != NULL )
{
while( buff.finFich == 0)
{
recv(sock, &buff, sizeof( buff ) , 0);
fwrite(buff.Buffer , 1 , strlen(buff.Buffer)*sizeof(char) , Fich);
}
fclose(Fich);
}
}
COTE CLIENT :
void envoyerFichier(SOCKET sock,char * Buff)
{
char NomFichier[499];
char buff[500] ;
sFich buffer;
buffer.finFich = 0;
int i = 0 , j = 1;
for(i,j; Buff[j] != '\0';i++,j++)
NomFichier[i] = Buff[j];
sendBuff(sock , Buff);
FILE* fichier =fopen(NomFichier , "rb");
if ( fichier != NULL) // ce test échoue si le fichier n'est pas ouvert
{
while (buffer.finFich == 0)
{
if( fread( buffer.Buffer , sizeof(char) , 500 , fichier ) <= 0)
buffer.finFich = 1;
send(sock, &buffer, sizeof(buffer), 0);
printf("%s\n" , buffer.Buffer);
memset(buffer.Buffer,'\0',(500-1));
}
printf("envoi %s fini \n", NomFichier);
fclose(fichier);
}
else
printf("erreur ouverture fichier\n");
}
je signale juste que le transfert de fichier txt marche trés bien ...
merci d'avance !
A voir également:
- [C]socket : transfert d'image, video, pdf etc
- Socket 478 ✓ - Forum Processeur
- Carte mere socket 775 - Forum Carte graphique
- Check_nrpe state critical: socket timeout after 10 seconds. ✓ - Forum Ubuntu
- Exception:une requête d’envoi ou de réception de données n’a pas été autorisée car le socket n’est pas connecté et (lors de l’envoi sur un socket datagramme en utilisant un appel sendto) aucune adresse n’a été fournie ✓ - Forum Programmation
- Processeur pour socket P sur socket 478 - Forum Matériel & Système