@JackBoner

Как обрабоать сжатые данные на клиенте в веб сокетах?

Есть сайт (не мой), на котором фронтэнд и бекэнд обмениваются данными через сокеты.
Клиент подключается со следующими HTTP заголовками:
Accept-Encoding:gzip, deflate, sdch, br
Sec-WebSocket-Extensions:permessage-deflate; client_max_window_bits


Сервер отвечает такими:
sec-websocket-extensions:permessage-deflate; server_no_context_takeover; client_max_window_bits=15


Так вот, когда я в своем .net приложении подключаюсь к этому серверу, то некоторые из сообщений приходят в непонятном виде, будто сжат или закодирован. Но некоторые приходят в нормальном виде.

99063be7fc3544cb9a3f97fb93d539a2.png

Так вот, может ли сервер сжимать определенные сообщения или он просто их шифрует? (и затем расшифровывает в клиентском коде браузера)
Для работы с сокетами использую библиотеку "WebSocket4Net".
Как в C# работать с такими сообщениями в сокетах?

Может ли это зависеть от протокола? Там он у них какой-то кастомный чтоле.

---------------------------------
РЕШЕНО.
Непонятная кодировка в некоторых сообщениях была по причине сжатия 'permessage-deflate', которое может выборочно сжимать сообщения. Библиотека WebSocket4Net не поддерживала данный вид сжатия.
  • Вопрос задан
  • 1306 просмотров
Решения вопроса 1
Rou1997
@Rou1997
Так вот, может ли сервер сжимать определенные сообщения или он просто их шифрует? (и затем расшифровывает в клиентском коде браузера)

Зачем гадать на кофейной гуще, если существуют снифферы, отладчики, деобфускаторы? Однозначно лучше их освоить, и посмотреть, как все в действительности
Ваши и оригинальные пакеты вообще идентичны?

Может ли это зависеть от протокола? Там он у них какой-то кастомный чтоле.

Может, потому что оригинальная реализация WebSockets только в Node.js, а в серверах на других языков строят "велосипеды".
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы