Come uno dei assigments dobbiamo implementare molto semplice server in C con alcuni clienti. L'idea è che l'utilizzo del sistema code V IPC creiamo una coda dove i clienti si registrano e poi per ogni cliente c'è una coda con i messaggi. Mi sto chiedendo un po 'sulla parte server. Dovrei avere qualcosa di simile:Molto semplice server in C
while(1)
{
//some queue using code
sleep(100);
}
così per ogni intervallo di tempo verifico ogni coda e fare quello che devo fare, o forse dovrei usare i segnali per informare del server che almeno una delle code è pronto a essere gestito
come si fa nei server normali, cosa hanno certo intervallo di tempo dopo il quale essi controllare tutto ciò di cui hanno bisogno per fare o non c'è modo più corretto di fare questo?
Il tipico codice di rete in C viene in genere eseguito con qualcosa come ['select()'] (http://stackoverflow.com/questions/4171270/select-function-in-socket-programming), che è basato sugli eventi . Ecco una buona guida (almeno quando l'ho usato): http://beej.us/guide/bgnet/ – birryree
Vuol select() funzioni lavorano con id di code System V? – Andna
io non sono sicuro di questo (non ho toccato la roba System V in probabilmente 7 anni), ma una parte della guida che ho linkato sopra anche illustrato l'utilizzo di sistema v code: http://beej.us/guide /bgipc/output/html/multipage/mq.html Anche se credo che nel tuo caso, quello che si potrebbe fare è di avere i client si connettono e selezionate da loro presa/descrittori, e gestire una coda per loro (invece di 'select()' - in coda). – birryree