Sto lavorando su un server proxy in c. Sono andato piuttosto lontano usando una combinazione di fread e fget in posti diversi ma vorrei riconciliarmi e capire la differenza. Nell'esempio seguente, sto cercando di usare fread in un posto in cui ho usato in precedenza fget con successo. Invece il mio server ora si blocca alla linea del fread. Qual è la differenza e perché il mio programma è sospeso?bancarelle di fread su presa ma fget doesnt?
void HandleTCPClient(int clntSocket)
{
FILE *request = fdopen(clntSocket, "r");
char reader[2000];
size_t q; //typo before
while((q=fread(reader, 1, sizeof(reader), request))>0) { //hangs here!
printf("i read something!\n");
}
return;
}
grazie !!
EDIT: così se faccio la linea "mentre ((q = fread (lettore, 1, 1, richiesta))> 0) {"
ottengo "Ho letto qualcosa di" tutto il mio schermo. ..
non so cosa significhi. Quindi è corretto che fread non farà letteralmente nulla se non c'è almeno il numero di dimensioni del buffer del tuo personaggio presente nello stream?
size_t q; scusa .. digita la traduzione per impilare –