TsgcWebSocketProxyServer › Właściwości › Extensions
Konfiguruje rozszerzenia protokołu WebSocket, takie jak kompresja per-message deflate dla gałęzi downstream.
property Extensions: TsgcWSExtensions read GetExtensions write SetExtensions;
PerMessage_Deflate.Enabled=False
Włączenie Extensions.PerMessage_Deflate.Enabled umożliwia anonsowanie i negocjowanie rozszerzenia kompresji permessage-deflate zdefiniowanego w RFC 7692 z klientem podrzędnym. Jeśli łączący się klient nie anonsuje obsługi, wiadomości są automatycznie wymieniane bez kompresji, co eliminuje ryzyko problemów z interoperacyjnością. Kompresja zmniejsza przepustowość kosztem czasu procesora; właściwości podrzędne (ServerNoContextTakeOver, ClientNoContextTakeOver, ServerMaxWindowBits, ClientMaxWindowBits, MemLevel) pozwalają wyważyć stosunek pamięci do współczynnika kompresji. Rozszerzenia negocjowane tutaj mają zastosowanie tylko do odcinka podrzędnego; połączenie nadrzędne z serwerem skonfigurowanym we właściwości Proxy jest odrębną sesją WebSocket.
oProxy := TsgcWebSocketProxyServer.Create(nil);
oProxy.Extensions.PerMessage_Deflate.Enabled := true;
oProxy.Proxy.Host := 'upstream.example.com';
oProxy.Proxy.Port := 8080;
oProxy.Active := true;