übertragen einer structur mit winsock...



  • ich sehe ein mögliches problem: das übertragen der struktur:

    Server:

    struct Fileinfo
    {
      char name[MAX_PATH];
      DWORD size;
    }
    
    beim server mache ich: send(struct, sizeof(struct));
    

    Client:

    struct Fileinfo
    {
      char name[MAX_PATH];
      DWORD size;
    }
    
    und beim client mache ich receive(struct, sizeof(struct));
    

    aber es ist nicht garantiert das man mit einem recv aufruf den ganzen inhalt der struktur bekommt??

    jemand sagte das hat was mit alignment beim compiler zu tun:
    - aus dem Grund musst du ja das alignment deaktivieren
    - der Compiler passt die Daten so an, dass die so liegen, dass das Programm schnell auf die einzelnen Variablen zugreifen kann

    cu



  • kommt darauf an, wie du daten versendest. prinzipell kannst du alles verschicken.

    schaue weiter

    http://www.c-worker.ch/tuts.html



  • es geht nur darum ob die Daten garantiert mit *einem* recv ankommen.



  • es geht nur darum ob die Daten garantiert mit *einem* recv ankommen.

    sicher kommen die daten an, aber wo in deinem datenstrom das ist die frage.

    sende daten mit einer bestimmten länge und warte mit recv darauf. nur so weist du ob alles gesendet wurde.

    volker


Log in to reply