Certo, quando il client fa la write specifico chiaramente la lunghezza del messaggio, ma la
codice:
ssize_t read(int fd, void *buf, size_t count);
prende in ingresso un buffer, che deve essere abbastanza grande da contenere count caratteri. Quando chiamo la read io passo questi parametri:
codice:
letti = read(socket, buffer, sizeof(char) );
e la read mi restituisce il numero di caratteri letti. Il messaggio termina con il carattere newline, quindi se il buffer non contiene "letti" caratteri come faccio a fare una realloc sul buffer che finirò di riempire con una nuova chiamata alla read?
Non so, magari c'è qualcosa che non ho ben compreso nel funzionamento della read...