Verzenden van structures via Sockets

Status
Niet open voor verdere reacties.

erikiej1

Gebruiker
Lid geworden
29 apr 2008
Berichten
138
Een korte vraag: hoe kan ik een structure verzenden met sockets? Ik weet alleen hoe je strings kunt verzenden maar ik wil graag een structure Player{ int Posx; int PosY; char Naam[15]; }; verzenden (en ontvangen).
 
Je struct encoderen/compressen naar een characterarray ?
Aan de ontvangende zijde een constructor voorzien die deze string als argument neemt...
 
Dit snap ik niet... kun je even een voorbeeld geven?

Iets als onderstaande:

Code:
typedef struct{
        int  i;
        char c;
} tData;

void print(const tData *d){
     std::cout << "i: " << d->i << '\n' << "c: " << d->c << '\n';
}

int main(int argc, char *argv[])
{
    tData *d1, *d2;
    
    d1->i = 5; d1->c = 'e';
    print(d1);
    
    char *s = reinterpret_cast<char *>(d1);
    
    d2 = reinterpret_cast<tData *>(s);        
    print(d2);
        
    system("PAUSE");
    return EXIT_SUCCESS;
}

De struct/class moet dan natuurlijk wel aan de andere kant bekend zijn.
 
Inderdaad gewoon het struct casten naar een char-pointer

Code:
send(jouwsocket, (char*)&jouwstruct, sizeof(jouwstruct), 0);
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan