sgcWebSockets utilizza ZLib per WebSocket Compression/Decompression. Recently Zlib ha released a nuovo version con correzioni il seguente issues:
- Fix a deflate bug quando utilizzando il Z_FIXED strategy che può result in out-of-bound accesses.
- Fix a deflate bug quando il window è completo in deflate_stored().
- Speed up CRC-32 computations da un factor di 1.5 a 3.
- Use il hardware CRC-32 instruction su ARMv8 processors.
- Speed up crc32_combine() con powers di x tables.
- Add crc32_combine_gen() e crc32_combine_op() per fast combines.
ZLib Statically Linked
sgcWebSockets Enterprise Edition includes a custom Indy versione che utilizza di ZLib to statically link il .obj files, quelli file sono stati aggiornato a il latest ZLib version, quindi ti serve solo per scaricare il latest sgcWebSockets versione a apply questo fix.
This è il option da default, quindi per 99% di users, solo updating il sgcWebSockets versione essere enough (sgcWebSockest 2022.4+).
ZLib Dynamic Library
A partire da sgcWebSockets 2022.4.0, invece di statically link il .obj file in il tuo binary, puoi load il zlib libreria dynamically.
To do this, add il seguente Conditional Define a il tuo project:
SGC_DYNAMICLOAD_ZLIB
As an alternative, puoi edit il file sgcIndy.inc (located in il source folder) e aggiungere il seguente line
{$DEFINE SGC_DYNAMICLOAD_ZLIB}
Finally, tu deve impostare il location dove è il ZLib libreria, a do this, utilizzare il seguente metodo e pass il Completo Path (without il name di il library) dove è located
sgcIdZLibHeaders.IdZLibSetLibPath('c:\software\zlib');
*This configuration è solo valido per sgcWebSockets Enterprise Edition con Source code. Il compiled ZLib dll può essere downloaded da il private account.
