ho riscontrato un problema su un programma che sto cercando di far funzionare...
Mi viene passato tramite socket un mp3...
per prima cosa mi viene passata la lunghezza dell mp3 (mess->data_length)...
in seguito "alloco" una variabile che contiene il dato ver e proprio e leggo per quanto mi viene indicato da mess->data_length.
quando vado a salvare il dato e ricostruisco l' mp3 pero mi vengono riprodotti solo i primissimi secondi....codice:mess->dato = (char* )malloc((unsigned long int)mess->data_length); n = read(newsockfd,add_mess->dato,(unsigned long int)mess->data_length);
andando a verificare i valore di n (che se non sbaglio dovrebbe restituire i byte letti...) mi ritrovo sempre come valore 65535 che in esadecimale è FFFF.
Esiste per caso un limite di byte leggibili per ogni read...??
perchè non capisco perchè non riesca a leggere per intero il file mp3...
e nel caso come posso fare...qualcuno ha una soluzione...grazie