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:
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:typedef struct { int i; char* nome; }Str; Str struc;
quindi mando tutto usando la una write in parte client.... e leggo tutto usando una read in parte Servercodice:struc.nome = (char*) malloc(sizeof(char)*dimNome);
E' possibile fare cio'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.."); }? Perche i dati passano...ma il server non stampa niente...di quello che dovrebbe stampare ehehehe
![]()

? Perche i dati passano...ma il server non stampa niente...di quello che dovrebbe stampare ehehehe 
Rispondi quotando