Gzip OHNE streams ?



  • Hi.
    Ich habe mich mal erkundigt, wie man Zeug mit einem GZipStream compressiert. Leider kann ich Streams sehr schlecht brauchen, da die daten auf packete aufgeteilt werden müssen...
    Also, wie mach ich das OHNE diese blöden Streams ?



  • und warum packetierst du nicht den fertigen Stream? Du arbeitest mit Streams, nimmst den ByteArray raus und verpackst den in deine Pakete. Ich glaube ja nicht das du jedes DAtenpacket für sich packen möchtest, das wäre ja eh kontraproduktiv.



  • Ich will na überhaupt nicht mit streams arbeiten.

    Und wie meinst du das mit den ByteArray, xxx.ToArray(); ? Würde das denn nich unnötig speicher verbrauchen ?



  • Naja was willst du genau machen? Wie bekommst du die Daten die du zippen willst?
    Warum willst du nicht mit Streams arbeiten? Die Api arbeitet ja nunmal mit Streams, warum willst du die nicht verwenden?



  • Ich versuch gerade, einen kleinen server für ein spiel zu schreiben. Wenn ein spieler rein will, muss der server ihm die Karte senden. Die Karten sind meustens ein byte[256, 64, 256] groß. Hierrauf hab ich freien zugriff.

    Mein freund rät mir von Streams ab, und ich selbst sehe, dass die so ein bisschen verwirrend sind...


  • Administrator

    lk schrieb:

    Mein freund rät mir von Streams ab, und ich selbst sehe, dass die so ein bisschen verwirrend sind...

    Und du glaubst ihm einfach so, ohne dass er dir Argumente nennen muss?
    Das einzige Argument, welches ich gegen GZipStream kenne, ist, dass sie vor .Net 4.0 recht langsam gewesen sein sollen. Mit 4.0 sollen sie beschleunigt worden sein. Wie gut die Beschleunigung ist, weiss ich nicht.

    Als Alternative zum GZipStream gibt es noch DotNetZip. Arbeitet intern aber auch mit Streams.

    Was findest du denn so verwirrend an den Streams? Ist doch eigentlich ganz einfach, ein Stream stellt einfach nur einen Fluss an Bytes dar, von welchem man lesen oder in ihn schreiben kann.

    Grüssli



  • nene, lk hat schon recht. Man sollte niemals neue, verwirrende Sachen lernen. Immer nur das benutzen was man eh schon kennt. Alles andere ist Teufelswerk. Und wer brauch schon so Sachen wie Streams, das ist doch eh nur so'n Hype...



  • loks schrieb:

    ...Alles andere ist Teufelswerk. Und wer brauch schon so Sachen wie Streams, das ist doch eh nur so'n Hype...

    und mehr als 64k Ram brauch auch niemand 😉



  • asc schrieb:

    loks schrieb:

    ...Alles andere ist Teufelswerk. Und wer brauch schon so Sachen wie Streams, das ist doch eh nur so'n Hype...

    und mehr als 64k Ram brauch auch niemand 😉

    Und der weltweite Bedarf an Computern beträgt 5.

    Wie schon gesagt. Das mit den Streams ist nicht schwer. Vor allem kann man nichts Sinnvoll packen was man schon vorher in Pakete zerlegt. Je kleiner die Datenmenge umso ineffektiver das Packen.
    Um besser helfen zu können müssen wir halt konkreter Wissen was du machen willst. Wie willst du den Server schreiben, was willst du dort konkret machen. Wie willst du die Daten empfangen etc. Vorher kann man da auch so Ad Hoc schlecht sagen was da ggf das beste wäre.


Anmelden zum Antworten