Originariamente inviato da denis76
Sto studiando la tua soluzione che mi sembra molto valida. Potresti indicarmi dove trovare maggioni informazioni su tale cosa? In particolar modo non mi è chiaro cosa significhi

<void*>

Esiste una tecnica per fare in modo che colui che riceve l'oggetto sia in grado di capire che oggetto esso sia?
Questa mia esigenza nasce dal fatto che non saprei come gestire la comunicazione prevedendo molti oggetti diversi tra loro.

Grazie mille, Denis.
XWolverineX ti ha descritto come si fà giustamente.

posso aggiungere:
un'oggetto, come dati e quantaltro non sono altro che sequenze di byte.

Il client e il server riconoscono una struttura perchè chi progetta appunto il client e il server sà cosa si devono comunicare quindi...


sul client farai:
struct t_bikeData
{
t_matrixComp mat[3];
};
e altrettatnto sul server

sia dal client che dal server invii così:

t_bikeData data;
g_bike[idN].GetBikeData(&data);

un esempio di invio dei dati:

GAMEMSG_OKAY msgOkay;
msgOkay.Data = data;
strcpy(msgOkay.nome, NomePlayer);
msgOkay.b=b;
//invio
send (socket, (const char*) &msgOkay, sizeof(GAMEMSG_OKAY), 0);

//ricezione
char rec[512];
int bytes;
bytes = recv((SOCKET)wParam, rec, sizeof(GAMEMSG_OKAY), 0);
GAMEMSG_OKAY* pMsg = (GAMEMSG_OKAY*) &rec;
g_bike[x].SetBikeData(&pMsg->Data);
strcpy(CiaoFratello, msgOkay.nome);
a=msgOkay.b;

//naturalmente i dati inviati sono meno di 512 bytes


la struct GAMEMSG_OKAY te la faì da solo...



ciao