Komprimierung



  • Hallo ihr Meisterporgrammierer!

    Ich habe mal eine Frage,
    wie kann ich ein beliebiges Objekt, das sich ständig ändert, effizient komprimieren? Ich möchte das nämlich über Netzwerk übertragen.

    Ich habe auch schon mal etwas über Deltakompression gelesen, fällt das damit zusammen?

    Vielen Dank für eure Hilfe, bei der Fülle an Möglichkeiten blicke ich nämlich nicht mehr durch!

    🙂
    Tanja2



  • Mit welcher Sprache?

    Falls C++, könnte dir zlib helfen:
    http://www.gzip.org/zlib/



  • Das hört sich sehr nach Spiel an... 🙂
    Bei einem Echtzeit Ding darf da für's Komprimieren nicht allzu viel Zeit drauf gehen...!
    Also Delta- is' auf jeden Fall okay. Da wird halt zunächst einmal immer die jeweilige Änderung anstatt kompletter States in Päckchen verpackt.



  • Nein, ist nicht für ein Spiel 🙂

    Das ist mir zu kompliziert.
    Die Sprache wäre Java, aber da es ein kleines Studienprojekt ist, soll ich das selbst implementieren.

    Sgt.Nukem:
    Wie meinst du das genau?
    Soll ich einfach einen Unterschied ermitteln?
    Wenn in dem Objekt sich also ein Int-Wert ändert um 5, soll ich dann die 5 als int rüberschicken? Oder soll ich hier wirklcih auf byte Ebene arbeiten? Ich weiss halt nicht wo ich da anfangen soll 😞

    Master_Max:
    Damit kenne ich mich leider garnicht aus 😉



  • Vielleicht findest du da Infos:

    http://www-user.tu-chemnitz.de/~mfie/compproj/

    🙂



  • Geht in Java auch einfacher:

    import java.util.zip.GZIPInputStream;
    import java.util.zip.GZIPOutputStream;

    Einfach per Reader/Writern das Objekt einlesen, und mit den obigen Paketen zippen. Zack, fertig.

    Dein Objekt muss Serializable sein.
    Wenn du unter Umständen nicht alle Vars im Objekt versenden möchtest, kannst du diese soweit ich weiss auch mit "tranisent" markieren, oder so. Hatte ich vor kurzem irgendwo gelesen.

    Cya,
    Coax


Anmelden zum Antworten