У меня есть клиент WebSocket, который использует netty WebSocketClientCompressionHandler
для поддержки расширения сжатия.Чтобы это расширение работало правильно, мне нужно установить значение allowExtensions
в true при создании newHandshaker
с использованием WebSocketClientHandshakerFactory
.
В тех случаях, когда сервер не поддерживает эти расширения, он отвечает без Sec-WebSocket-Extensions
.Если это так, если используются зарезервированные (RSV) биты, клиент должен немедленно прервать соединение.
Поскольку я создаю WebSocketClientHandshaker
до того, как смогу получить какой-либо ответ от сервера, я не могу впоследствии установить значение allowExtensions
в false, когда узнаю, что сервер не поддерживает расширения.
Можно ли в любом случае установить значение allowExtensions
в false после получения ответа от сервера (или сообщить netty), чтобы netty закрывала соединение, если бит RSV установлен из-за нарушения протокола?
(Для реализации сервера я проверяю заголовки клиентских запросов на Sec-WebSocket-Extensions
перед созданием подтверждения связи, что нормально.)