agosteeno
15-01-2011, 12:34
Salve a tutti, sto' scrivendo una libreria per un progetto, che serve a gestire la connessione e l'invio/ricezione di messaggi usando socket di sistema (AF_UNIX per intenderci).
Quando effettuo una read() per implementare la receive, se non c'e' nessuno che in quel momento ha scritto/sta' scrivendo, questa mi ritorna errno con codice 104 (connection reset by peer). La situazione si risolve eseguendo la read fino a che non ci sono nuovi dati. Il fatto e' che nn so' come regolarmi per fare questa operazione: infatti la prima (stupida) cosa che mi viene in mente e' fare una sleep e poi rieseguire la read, ma non e' per nulla efficiente (senza contare il fatto che e' vietato dalle specifiche del progetto). Avete qualche consiglio da darmi? Vi ringrazio in anticipo. Ciao!!!
Quando effettuo una read() per implementare la receive, se non c'e' nessuno che in quel momento ha scritto/sta' scrivendo, questa mi ritorna errno con codice 104 (connection reset by peer). La situazione si risolve eseguendo la read fino a che non ci sono nuovi dati. Il fatto e' che nn so' come regolarmi per fare questa operazione: infatti la prima (stupida) cosa che mi viene in mente e' fare una sleep e poi rieseguire la read, ma non e' per nulla efficiente (senza contare il fatto che e' vietato dalle specifiche del progetto). Avete qualche consiglio da darmi? Vi ringrazio in anticipo. Ciao!!!