PDA

Visualizza la versione completa : linguaggio c - server tcp con socket


lio.b
13-10-2009, 21:22
Salve a tutti,
dovrei realizzare un piccolo programma di cui fanno parte un server ed un client. Di base lo so fare soltanto che mi si chiedono delle cose, una in particolare, che non so fare. Le specifiche dicono:


Il server attende che dei client si connettono alla porta tcp, ogni volta che un client si connette il server tiene traccia della connessione aperta e ne attende una nuova. Una volta ottenuta la connessione di tre client il server fa quanto segue:
1. invia una stringa di start a tutti e tre i client
2. aspetta una risposta da questi(il client manda un intero sul quale bisogna fare alcune operazioni.
3.il server risponde al client
4.torna al punto 1

La mia idea quella di mettere nel server una cosa del genere:


while(1){
/* creo una socket
bind() sulla socket
accept()
fork()
*/

Il problema che se faccio 3 fork() dovrei aspettare la fine di queste per poter tornare in ascolto, quindi a fare la while(1)...come posso fare?
In fin dei conti la wait(&status) garantisce la terminazione di solo un figlio.
Potete darmi qualche consiglio su come implementare?
Grazie

lio.b
13-10-2009, 23:14
Sto sbagliando? Non riesco a trovare un'idea indipendentemente dall'algoritmo.

Loading