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