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// ...

Rispondi quotando