Ciao a tutti!! Ho un problema di invio di una struttura su socket stream unix che non riesco a risolvere!!
vi spiego la struttura e' cosi definita:
codice:
typedef struct {
int i;
char* nome;
}Str;
Str struc;
avendo come secondo valore una stringa non definita ho pensato di poter calcolare la dimensione a tempo di esecuzione...allocare memoria ad hoc...e mandare alla parte Server prima la dimensione di nome e poi la struttura';
codice:
struc.nome = (char*) malloc(sizeof(char)*dimNome);
quindi mando tutto usando la una write in parte client.... e leggo tutto usando una read in parte Server
codice:
// parte client
if(write(sd, &struc, sizeof(Str))<0)
{ perror("errore scrittura struct.."); break; }
//parte server ricezione (nel server la struttura e' allocata dinamicamente.
if( read(conn_sd, struc, sizeof(Str))<0)
{
perror("Attenzione Errore read struct..");
}
E' possibile fare cio' ? Perche i dati passano...ma il server non stampa niente...di quello che dovrebbe stampare ehehehe