L'envoi de fichier par socket en c
hanane7575
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai deja reussi de programmer une socket client/serveur qui permet de transfer des message
mais maitenant je veut transfer une fichier.txt " on peut dire de trame " a l'aide cet socket qui on deja programmer
mais ma connaisance un peu limiter surtout en c
plaise aide moi pour faire une transmission de fichier par une socket
j'ai deja reussi de programmer une socket client/serveur qui permet de transfer des message
mais maitenant je veut transfer une fichier.txt " on peut dire de trame " a l'aide cet socket qui on deja programmer
mais ma connaisance un peu limiter surtout en c
plaise aide moi pour faire une transmission de fichier par une socket
A voir également:
- L'envoi de fichier par socket en c
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
3 réponses
oui je sais mais comment faire ca ici le problem
voila le code de cote sclient
include <sys/un.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
main()
{int sd,lg; char msg[20],rep[20];
struct sockaddr_in adresse;
sd=socket(AF_INET, SOCK_STREAM, 0);
if (sd==-1)
{printf ("erreur de creation");
exit(0);}
adresse.sin_family = AF_INET;
adresse.sin_port=1230;
adresse.sin_addr.s_addr = INADDR_ANY;
lg=sizeof(adresse);
if(connect(sd,(struct sockaddr_in *) &adresse,sizeof(adresse))<0)
{perror("ereur");
exit(0);}
strcpy(msg,"");
while(strcmp(msg,"fin")!=0)
{
read(sd,msg,sizeof(msg));
puts(msg);
printf("\ntapez la reponse : ");
gets(rep);
write(sd,rep,sizeof(rep));
}printf("\n déconexion\n"); }
***********************
cote serveur
#include <sys/un.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
struct sockaddr_un ;
main()
{int sd,ss,p1=1,p2=2,p; char msg[20],rep[20];
struct sockaddr_in adresse;
sd=socket(AF_INET, SOCK_STREAM, 0);
if (sd==-1)
{printf ("erreur de creation");
exit(0);}
adresse.sin_family = AF_INET;
adresse.sin_port=1230;
adresse.sin_addr.s_addr = INADDR_ANY;
if((bind (sd, (struct sockaddr_in *) &adresse, sizeof(adresse)))==-1)
{printf("ereur bind");exit(0);}
listen(sd,2);
strcpy(msg," ");
printf("attend que un client se connecte ...\n");
while(1)
{
ss=accept(sd,0,0);
if(fork()==0)
{
p=getpid();
while(strcmp(msg,"fin")!=0)
{printf("taper message: ");
gets(msg);
write(ss,msg,sizeof(msg));
read(ss,rep,sizeof(rep));
puts(rep);}
printf("\nattend que un client se connecte ...\n");
}}}
********************
comment tradiure ce code la envoi et recevoir de fichiet.txt
voila le code de cote sclient
include <sys/un.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
main()
{int sd,lg; char msg[20],rep[20];
struct sockaddr_in adresse;
sd=socket(AF_INET, SOCK_STREAM, 0);
if (sd==-1)
{printf ("erreur de creation");
exit(0);}
adresse.sin_family = AF_INET;
adresse.sin_port=1230;
adresse.sin_addr.s_addr = INADDR_ANY;
lg=sizeof(adresse);
if(connect(sd,(struct sockaddr_in *) &adresse,sizeof(adresse))<0)
{perror("ereur");
exit(0);}
strcpy(msg,"");
while(strcmp(msg,"fin")!=0)
{
read(sd,msg,sizeof(msg));
puts(msg);
printf("\ntapez la reponse : ");
gets(rep);
write(sd,rep,sizeof(rep));
}printf("\n déconexion\n"); }
***********************
cote serveur
#include <sys/un.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
struct sockaddr_un ;
main()
{int sd,ss,p1=1,p2=2,p; char msg[20],rep[20];
struct sockaddr_in adresse;
sd=socket(AF_INET, SOCK_STREAM, 0);
if (sd==-1)
{printf ("erreur de creation");
exit(0);}
adresse.sin_family = AF_INET;
adresse.sin_port=1230;
adresse.sin_addr.s_addr = INADDR_ANY;
if((bind (sd, (struct sockaddr_in *) &adresse, sizeof(adresse)))==-1)
{printf("ereur bind");exit(0);}
listen(sd,2);
strcpy(msg," ");
printf("attend que un client se connecte ...\n");
while(1)
{
ss=accept(sd,0,0);
if(fork()==0)
{
p=getpid();
while(strcmp(msg,"fin")!=0)
{printf("taper message: ");
gets(msg);
write(ss,msg,sizeof(msg));
read(ss,rep,sizeof(rep));
puts(rep);}
printf("\nattend que un client se connecte ...\n");
}}}
********************
comment tradiure ce code la envoi et recevoir de fichiet.txt