Si está comprimiendo los datos , entonces puede ver la serialización de alta densidad, en lugar de la compresión. Algo así como protobuf. Hay un few C# implementations here. Para objetos existentes, protobuf-net es IMO el más simple de implementar (revelación: soy el autor, pero es gratis, etc.). Solo se serializa en la transmisión, o si quiere un byte[]
, un MemoryStream
por separado.
Para uso continuo sobre un socket (en lugar de la solicitud discreta/respuesta de HTTP), sugeriría mirar los Serializer.SerializeWithLengthPrefix
/Serializer.DeserializeWithLengthPrefix
operaciones (protobuf no lo hace sí incluyen un terminador, por lo que una longitud- el prefijo es necesario para manejar mensajes separados).
Ayudaría si explica por qué/si no le gusta 'GZipStream'. –
No digo que no me guste, solo busco alternativas que me puedan dar un mejor rendimiento y mayores índices de compresión. Las bibliotecas comerciales también son bienvenidas –