Messieurs, Dames ("les mecs", quoi),
Je dois transmettre une stucture (une "struct" au sens de C, bien �videmment) via une socket, et j'ai vu partout sur d'autres forum "qu'il faut s�rialiser la structure, car simplement transmettre un pointeur dessus revient � copier une adresse m�moire qui n'aura pas de sens pour la machine receveuse".
Or j'ai test� d'envoyer un pointeur sur ma structure et j'ai quand m�me l'impression que l'on transmet une "copie profonde" de la structure (j'ai l'impression de bien transmettre par copie et non par valeur).
Je vous mets le code client:
le code serveur:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 struct trame trametest; trametest.Struct_Size = 25; char * test = (char *)&trametest; //tout le bordel de configuration de la socket, je passe //puis: send(sock ,test, sizeof(trametest) , 0 );
J'ai beau afficher des adresses dans tous les sens, je ne trouve aucune adresse commune, comme si je n'avais pas transmis ma structure par r�f�rence, mais par valeur...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 struct trame trametest; valread = read( new_socket , buffer, sizeof(trametest)); trame *test = (trame *)buffer;
Qu'en pensez-vous?
cordialement
Partager