Frage zu recv(...)



  • @ friggler:
    Es funktioniert nur die Version ohne Virtuelle Methoden von aaid
    Deine funktioniert leider nicht.(Habe ich getestet)

    Zwar kopierst du die ersten 4 Byte nicht mit, aber dafür kopiert deine Version die 2ten 4 Byte auf die ersten 4 Byte, in der die Informationen von Virtuel steht usw.

    Du kopierst so:

    4 Byte virtuel   4 Byte typ     4 Byte Laenge   4Byte werte
    
                         |             |                 |
                         V             V                 V  
    
                   4 Byte virtuel   4 Byte typ     4 Byte Laenge   4Byte werte
    


  • Mensch Mensch Mensch... Das sollte doch kein Problem darstellen...

    struct test
    {
       int typ;
       int groesse;
       int Nutzdaten;
    
       void* GetDataPtr() { return &typ; }
       int GetDataSize() { return sizeof(*this)-4; }
    };
    
    test *t = new test();
    send( server->connectedSocket, t->GetDataPtr(), t->GetDataSize(), 0 );
    

    Müsste das nicht funktionieren? Und beim Einlesen das selbe?



  • ja stimmt habs völlig verpeilt. ich denke du brauchst memcpy.

    test obj;
    memcpy((char*)&obj + 4, ..., ...);

    aber so das ist alles so eine frickelei! an deiner stelle würde ich boost::serialization nutzen.



  • friggler schrieb:

    aber so das ist alles so eine frickelei!

    Du heißt doch 'friggler' 😃



  • Badestrand schrieb:

    struct test
    {
       int typ;
       int groesse;
       int Nutzdaten;
    
       void* GetDataPtr() { return &typ; }
       int GetDataSize() { return sizeof(*this)-4; }
    };
    

    Müsste das nicht funktionieren? Und beim Einlesen das selbe?

    LOOOOOL, Was soll das denn darstellen ?=? 😃



  • CodeFinder schrieb:

    LOOOOOL, Was soll das denn darstellen ?=? 😃

    🙄

    Wollte es ja erst so posten:

    struct test
    {
       int typ;
       int groesse;
       int Nutzdaten;
    ;
    
    test *t = new test();
    send( server->connectedSocket, &t->typ, sizeof(test)-4, 0 );
    

    aber dann dachte ich, dass er es mit eingebauten Funktionen einfacher findet 😃



  • Badestrand schrieb:

    aber dann dachte ich, dass er es mit eingebauten Funktionen einfacher findet 😃

    OK, ok, sah nämlich sehr utopisch aus 😃 ...
    BTW: Das sind Methoden, keine Funktionen 😉 .



  • Ist OK,
    ich habe die Version ohne virtuel eingebaut und es klappt prima!

    Danke an alle!



  • CodeFinder schrieb:

    Badestrand schrieb:

    aber dann dachte ich, dass er es mit eingebauten Funktionen einfacher findet 😃

    OK, ok, sah nämlich sehr utopisch aus 😃 ...
    BTW: Das sind Methoden, keine Funktionen 😉 .

    das sind Memberfunktionen, keine Methoden.



  • der es genau nimmt schrieb:

    [...]
    das sind Memberfunktionen, keine Methoden.

    lol, nur dumm, dass Memberfunktionen, das gleiche sind wie Methoden 😃 😃 ...


Anmelden zum Antworten