Wenn Sie Daten komprimieren, dann können Sie Serialisierung mit hoher Dichte statt Komprimierung betrachten. Etwas wie Protobuf. Es gibt eine few C# implementations here. Für vorhandene Objekte ist protobuf-net IMO die einfachste zu implementieren (Offenbarung: Ich bin der Autor - aber es ist kostenlos usw.). Sie serialisieren nur den Stream, oder wenn Sie eine byte[]
möchten, eine separate MemoryStream
.
Für kontinuierliche Verwendung über eine Buchse (anstelle der diskreten Anforderung/Antwort von HTTP), würde ich an den Serializer.SerializeWithLengthPrefix
/Serializer.DeserializeWithLengthPrefix
Operationen vorschlägt, Blick (protobuf nicht selbst einen Terminator enthalten, so ein längs- Präfix ist notwendig, um getrennte Nachrichten zu behandeln).
Es würde helfen, wenn Sie erklären, warum/wenn Sie 'GZipStream' nicht mögen. –
Nicht sagen, dass ich es nicht mag - nur auf der Suche nach Alternativen, die mir bessere Leistung und höhere Komprimierungsraten geben könnten. Kommerzielle Bibliotheken sind auch willkommen –