1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| #include "fonction.h"
main(int argc, char *argv[])
{
int sock, rval;
char *buf=malloc(sizeof(char)*1024);
bzero(buf,sizeof(buf));
char *data=malloc(sizeof(char)*1024);
bzero(data,sizeof(data));
struct sockaddr_in serveur_adr, sock_service;
struct hostent *machine;
int length;
sock=socket (AF_INET, SOCK_STREAM, 0);
if (sock < 0)
{
perror("socket client");
exit(1);
}
bzero (&serveur_adr, sizeof (serveur_adr));
serveur_adr.sin_family= AF_INET;
serveur_adr.sin_port= htons(NPORT);
serveur_adr.sin_addr.s_addr= inet_addr("127.0.0.1");
if(connect(sock,(struct sockaddr*) &serveur_adr, sizeof(serveur_adr)) < 0) //Connecte le client avec le serveur
{
perror("connect");
close(sock);
exit(1);
}
do
{
rval=read(sock,buf,1024);
if( rval<0)
{
perror("read client");
exit(1);
}
if(rval==0)
printf("Fin de connection\n");
else
{
msg_recu(buf);
data=msg_saisi();
if(write(sock, data, strlen(data)) < 0) //Ecrit dans sock le nom du fichier
{
perror("write client");
close(sock);
exit(1);
}
}
}while(rval!=0);//fin do while
close (sock);
} |
Partager