int master, slave;
struc sockaddr_in serv;
socklen_t longueur;

master = socket( AF_INET, SOCK_STREAM, 0);
if ( master < 0 ) erreur("socket");

serv = sockaddrinlocal( PORT );

if ( bind( master, (struct sockaddr *) &serv, sizeof(serv)) < 0 )
    erreur("bind");

listen( master, 5);

longueur = sizeof( struct addr_in );

while ( 1 ) {  
  slave = accept( master, & adresse, &longueur);
  if ( slave < 0 )
    erreur("accept");
  
  switch( fork () ) {
    case 0 : /* fils */
      close( master );
      traitement( slave );
      exit(0);
    case -1 :
      erreur( "fork");
    default : /* pere */
      close( slave );
  }

  return 0;
 }
