Задать вопрос
maaGames
@maaGames
Погроммирую программы

Почему QWebSocket не получает длинные сообщения?

Подключаюсь к рутоничат для получения сообщений из "ws://127.0.0.1:8383/Chat"
Короткие сообщения приходят, длинные не приходят. "короткие" это вся json строка меньше килобайта. При этом в браузере в вебсокет все сообщения приходят.
Я понимаю, что надо как-то хитрее открывать соединение, но не знаю, что ещё пробовать.
  • проверил размер буфера и максимальный размер сообщений, возвращает 2ГБ, но пробовал и перезадать
  • пробовал задать subprotocol (через QWebSocketHandshakeOptions), но в браузере у сокета нет никакого подпротокола
  • пробовал менять версию сокета. По умолчанию 13, ставил 7
  • Вместо URL пробовал через промежуточный QNetworkRequest
  • Добавил все сигналы сокета, и с Frame-фукнциями и с бинарными и с алертами и с ssl-ошибками - никакие функции не срабатывают при больших сообщениях. Короткие сообщения в этих функциях дублируются.


У меня нет идей, что с этим делать. Нужно что-то задать, но не знаю что, где и как... Хелп.
  • Вопрос задан
  • 673 просмотра
Подписаться 2 Простой 11 комментариев
Решения вопроса 1
maaGames
@maaGames Автор вопроса
Погроммирую программы
QWebSocket не поддерживает permessage-deflate. Заменил библиотеку на ixWebSocket, там клиент даже ещё приятнее пишется, куча служебной работы уже сделана из коробки. При подключении zlib большие сообщения приходят, без zlib - не приходят. То есть догадка про проблему с deflate была правильной.
ixWebSocket сильно забагованная библиотека и есть проблемы со сборкой, но кода немного, ошибки исправил и заработало.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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