ciao a tutti, il linguaggio in questione è C in ambiente UNIX
devo fare in modo che quando il server ha stabilito la connessione con 3 client inizia a svolgere il proprio servizio.

mi chiedevo se per implementare questo dopo aver creato la socket dopo averle assegnato l'indirizzo e etc etc basta fare tre ACCEPT... che ne pensate??


codice:
int main(int argc, char *argv[]) {

  int r, r1, r2, r3, ds_sock, ds1, ds2, ds3;
  struct sockaddr_in server;
  struct sockaddr client1, client2, client3;

  //ARMO IL SEGNALE PER INTERRUZIONE TRAMITE Ctrl+c //
  signal(SIGINT, terminazione);
  ds_scok = socket(AF_INET, SOCK_STREAM, 0);

  memset(&server, 0, sizeof(server));
  server.sin_port = htons(1000);
  server.sin_family = AF_INET;
  server.sin_addr.s.addr = htonl(INADDR_ANY);

  bind = (ds_sock, &server, sizeof(server));

  listen = (ds_sock, 3);

  while(1) {
    while((ds1 = accept(ds_sock, &client1, sizeof(client1))) == -1);
    while((ds2 = accept(ds_sock, &client2, sizeof(client2))) == -1);
    while((ds3 = accept(ds_sock, &client3, sizeof(client3))) == -1);

    if(fork() == 0) {
      close(ds_sock);
      r = random();
      write(ds1, "START", 10);
      write(ds2, "START", 10);
      write(ds3, "START", 10);

      //invio ad ogni client il messaggio start e da qui in avanti ci sarà la funzione svolta dal client//

...