PDA

View Full Version : [C] socket, read e write


gepeppe
19-06-2008, 17:50
Salve, devo creare un 2 programmi, uno client e uno server che comunicano inviandosi delle stringhe. Spesso però mi capita che inviando delle stringhe dal socket al client e viceversa, la read resti in uno stato "bloccato", anche se la write è terminata.

Io allora avevo pensato ad esempio, che quando il server invia una stringa al client, dopo gli invii anche un carattere di terminazione, tipo '^', cosi che quando il client legge quel carattere, capisce che la stringa è finita e l'esecuzione del programma può continuare.

Esiste una soluzione diversa?? Questa mi sembra un po "rattoppata"...non sò....

grazie

*MATRIX*
19-06-2008, 17:57
potresti fare un strcmp se la stringa inserita contine la parola exit esce dal programma

if (strcmp(stringa,exit)

exit(0);

gepeppe
19-06-2008, 22:20
scusa forse ho scritto male io....allora diciamo che il client scrive qualcosa..la invia al server e questo la stampa a video.

Poi il server invia un altra stringa al client e questo la stmpa a video...e cosi via (semplificando molto). Adesso ogni read continua sempre a leggere..e come se non capisse quando deve smettere di leggere..ovvero quando la write dall'altra parte non gli dicesse che la stringa che stà inviando è termianta.

Allora la mia idea era di inviare dopo tutta la stringa, un carattere tipo '^', in questo modo una read leggeva finchè non incontra questo carattere. Volevo sapere però se c'era una soluzione più pulita di questa...