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
| #include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
int main(int argc, char *argv[])
{
/*Informations sur le serveur*/
char hostname[1024];
hostname[1023] = '\0';
gethostname(hostname, 1023);
printf("------------------------Information sur le serveur----------------------------\nhostname : %s\nport : %s\n",hostname,argv[1]);
/*Fin informations sur le serveur*/
char mess_recu[BUFSIZ],mess_envoi[BUFSIZ];
char* contenu_fich;
int pp,d_sock,cc,l;
int longe,service,childpid;
char tab[128];
struct sockaddr_in serveur = {AF_INET};
struct sockaddr_in client;
serveur.sin_port=2010; /* numero de port */
serveur.sin_family=AF_INET;
serveur.sin_addr.s_addr=INADDR_ANY;
d_sock=socket(AF_INET,SOCK_STREAM,0); /* procole TCP */
pp=bind(d_sock,(struct sockaddr*)&serveur,sizeof(serveur));
//Boucle pour attendre les données du client
for (;;){
l=listen(d_sock,1);
longe=sizeof(struct sockaddr_in);
service=accept(d_sock,(struct sockaddr *)&client,&longe);
printf("accept= %d\n",service);
/* reception du message */
read(service,mess_recu,sizeof(mess_recu));
strcat(contenu_fich,mess_recu);
}
close(d_sock);
} |
Partager