diff --git a/lib/extension-deflate-frame.c b/lib/extension-deflate-frame.c index a3ff9f02..63ba6244 100644 --- a/lib/extension-deflate-frame.c +++ b/lib/extension-deflate-frame.c @@ -40,7 +40,10 @@ int lws_extension_callback_deflate_frame( return 1; } n = deflateInit2(&conn->zs_out, - DEFLATE_FRAME_COMPRESSION_LEVEL, Z_DEFLATED, + (context->listen_port ? + DEFLATE_FRAME_COMPRESSION_LEVEL_SERVER : + DEFLATE_FRAME_COMPRESSION_LEVEL_CLIENT), + Z_DEFLATED, -LWS_ZLIB_WINDOW_BITS, LWS_ZLIB_MEMLEVEL, Z_DEFAULT_STRATEGY); if (n != Z_OK) { diff --git a/lib/extension-deflate-frame.h b/lib/extension-deflate-frame.h index 812af47e..00a4447a 100644 --- a/lib/extension-deflate-frame.h +++ b/lib/extension-deflate-frame.h @@ -1,7 +1,8 @@ #include -#define DEFLATE_FRAME_COMPRESSION_LEVEL 1 +#define DEFLATE_FRAME_COMPRESSION_LEVEL_SERVER 1 +#define DEFLATE_FRAME_COMPRESSION_LEVEL_CLIENT Z_DEFAULT_COMPRESSION struct lws_ext_deflate_frame_conn { z_stream zs_in;