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

    maaGames
    @maaGames Автор вопроса
    jcmvbkbc, Наверное, если порт пробросить, то и возможно к рутоничату удалённо подключиться. Если IXWebSocket не поможет, то буду думать, можно ли так сделать.
    Написано
  • Почему QWebSocket не получает длинные сообщения?

    maaGames
    @maaGames Автор вопроса
    jcmvbkbc, Именно об этом я и написал, что вам нужен не только код, но и рутоничат, а ещё стрим, из которого рутоничат будет получать данные. Поэтому компилируемого кода нет (зачем он нужен, если нельзя просто запустить?) Именно поэтому и вопрос "сложный", что надо не код проверять, а именно знать причину и ответ.
    Если IXWebSocket решит проблему, то я правильно понял причину и это будет ответом. А если неправильно понял, то не будет.
    Написано
  • Почему QWebSocket не получает длинные сообщения?

    maaGames
    @maaGames Автор вопроса
    jcmvbkbc, ну вот приведённый код воспроизводит проблему. То есть совершенно стандартный код вебсокета, работающий абсолютно всегда, кроме тех случаев, когда не работает. А когда он не работает, то он не возвращает никаких ошибок. Я вообще все сигналы добавил, чтобы и SSL ошибки ловить (сокет не wss) и байтовые массивы и текст/байты фреймами по кусочкам. Когда сообщения не приходят, они не приходят вообще никуда, молча, без каких-либо уведомлений о том, что они не пришли. А когда приходят, то приходят в textMessageReceived(*Frame), как и положено. И эти приходят-неприходят с интервалом в секунду, сокет не закрывается, не пересоздаётся, не переконнектится...

    Давайте рещать проблему: QWebSocket не принимает permessage-deflate сообщения.
    Написано
  • Почему QWebSocket не получает длинные сообщения?

    maaGames
    @maaGames Автор вопроса
    jcmvbkbc,
    Чтобы быть полезным, код воспроизводящий проблему должен как минимум компилироваться. В идеальном случае он должен воспроизводить проблему.

    А вообще, это абслютно весь код, вопсроизводящий проблему. Для сообщений меньше килобайта TextMessageReceived вызывается, а для больше килобайта - нет.
    QWebSocket socket;
    
    connect( &socket, &QWebSocket::textMessageReceived, this, &TextMessageReceived);
    
    socket.open( QUrl( "ws://127.0.0.1:8383/Chat" ) );
    Написано
  • Почему QWebSocket не получает длинные сообщения?

    maaGames
    @maaGames Автор вопроса
    Чтобы быть полезным, код воспроизводящий проблему должен как минимум компилироваться. В идеальном случае он должен воспроизводить проблему.


    Поэтому и поставил "сложный", что надо знать проблему, а не искать ошибку в коде. Потому что именно ошибки в виде ошибки в коде нет. Ошибка в том, чего в коде нет. Компилируемый код вам не поможет, потому что надо не просто скомпилировать и запустить, но и подключиться к рутоничату, а для этого нужен рутоничат и стрим с наградами. И даже нельзя сделать отдельное серверное-приложение, потому что сервер должен быть настроен так же, как в рутоничате (я не знаю, как там). Потому что если сервер это тоже Qt, то никаких проблем нет, разумеется.

    Это может быть и новая проблема, с которой я не сталкивался. Я готов посмотреть на вашу конкретную проблему и найти для неё ответ.


    Вы работали через QWebSocket с сервером, использующим permessage-deflate сжатие сообщений? Если я правильно перевёл, то Qt не реализовали поддержку deflate и работает только с несжатыми сообщениями длиной до 2ТБ. А у вебсокета рутоничата в extension указано permessage-deflate и приходят сообщения длиной только до килобайта, а threshold для этого deflate, по умолчанию, как раз 1024 байта. Выводы напрашивются сами, пробую вместо Qt другие библиотеки для сокетов (пока хватило глупости попробовать те, которые не подерживют deflate, но уже нашёл ту, которая полностью RFC 7692 реализована поддержка. Когда её подключу, если проблема решится, то я правильно понял причины нежелания получать больше килобайта, Разумеется, тут отпишусь. И вы тоже будете знать ответ на мой вопрос. А если я не угадал и проблема ещё в чём-то, то не будете.
    Написано
  • Почему QWebSocket не получает длинные сообщения?

    maaGames
    @maaGames Автор вопроса
    jcmvbkbc, Не нужен. Вам не нужно всё моё приложение. Вы либо сталкивались с такой прблемой и знаете ответ, Либо не сталкивались и не знаете ответ. Очевидно, что в моём коде нет ответа, потому что надо доабвить то, чего в коде нет. Вот код, воспроизводящий проблему. Понятнее стало? Нет, не стало. А ещё вам нужен рутоничат и стрим с наградами, чтобы выполнить награду с текстом.

    QWebSocket socket;
    
    connect( &socket, &QWebSocket::textMessageReceived, this, &TextMessageReceived);
    
    socket.open( QUrl( "ws://127.0.0.1:8383/Chat" ) );


    Повторюсь, проблема именно с длинными сообщениями, ориентировочно больше килобайта. Пока что думаю, что QWebSocket не умеет в permessage-deflate и поэтому мелкие сообщения без сжатия приходят, а большие уже сжимаются и не приходят.
    Написано
  • Как работают переводы на другие языки в играх?

    maaGames
    @maaGames
    хорошо, ты поставил знак равенства для идентификатор_строки и хэш. Приемлемо. Про это забудем :)

    я прст опоменяю парсер

    А при использовании чего-то стандартного, парсер менять не придётся и проще поддерживать версионность, если она вдруг нужна (в переводах это вряд ли, так что я притянул за уши)

    я напишу простой инспектор, который за меня это все заполнит

    и аналогичный ридер для переводчика, потому что вручную они могут поломать файл. Опять же, это было надо самому писать какие-то программы, а не браь готовое

    Не знаешь как эскейп последовательность для новой строки выглядит?

    Не знаю. Для json знаю, для XML знаю, а для какого-то неизвестного проприетарного формата - не знаю.

    Отлавливаешь последовательность '//' и игнорируешь до конца строки.

    Ну вы же не написали, что есть поддержка комментария. Отлично, что не забыли это предусмотреть! Но в каком-то стандартном формате и не пришлось бы гадать. А судя по вашему вопросу, зачем в локализации комментарии, можно утверждать, что вы не сталкивались с переводом чего-то не тривиального. Особенно игрушек с кучей текста, зависящего от контекста. Банальный пример, который вы (не лично вы, а вообще никто) не сможете перевести правильно, не зная контекста: "язык". Как переведёте? "tongue" или "language"? А никак, только Алиэкспресовским методом, какое первое слово в словаре окажется, то и напишете. Не зная контекста перевести невозможно. Для лучшего понимания вместо слова "комментарий" можете использовать слово "description"

    А чем это будет удобнее и проще, ты можешь сказать?

    Конечно могу. Тем, что перевдчик откроет его в Excel, а не в блокноте. Мало радости в блокноте ковырять файлы из тысяч и десятков тысяч строк. А если в игре богатый лор, то и сотни тысяч.
    Написано
  • Как работают переводы на другие языки в играх?

    maaGames
    @maaGames
    K0TlK, что такое хэш? Хэш ключа или хэш строки? Если хэш ключа, то где сами ключи? Если хэш строки, то чем тебе это поможет при переводе, когда строка поменяется? А елси ты поменяешь формат и надо сперва задать ключ, а не хэш. А если опечатался и перепутал местами тэш и индекс? А если не поставил закрыающую кавычку, ты сделал проверку формата? А если две кавычки случайно нажал? А если многострочный текст? И это ещё прееводчик должен помнить, какой из "столбцов" нужно редактировать. А где в этом формате место для комментариев с пояснением контекста? Без контекста перевод частенько будет на уровне описаний с Алиэкспресса.
    Про блокнот сказал, потому что он, как и любой другой тектовый редактор, умеет подсвечивать синтаксис json и ещё лучше умеет подсвечивать XML. И сразу на месте подсветит ошибки синтаксиса хоть какие-то.
    Просто формат ключ:строка удобен только в простейших случаях, когда ресурсов мало и их не редактируют. Либо есть редактор этих ресурсов, защищающий от ошибок. Даже в CSV формате будет намного удобнее и проще, чем изобретать свой "простой формат".
    Написано
  • Как работают переводы на другие языки в играх?

    maaGames
    @maaGames
    K0TlK,
    Во-первых, хэш-строка ты не сможешь сделать, но это просто опечатка, т.к. ранее вы правильно написали ключ-строка
    Во-вторых, (никто) не делает прееводы в блокноте. В 99% случаев это будет либо XML, либо json. В редких случаях какая-то проприетарщина, возможно, бинарная. Ну ещё WinAPI, но его не учитываю, т.к. там в виде dll и перевод при момощи утилит на это расчитанных.
    В-третьих, маловероятно, что скорость парсинга на что-то повлияет, у вас просто не будет такого объёма текстовых ресурсов. А вот диагностировать ошибку проще в общепринятых форматах, чем в своём текстовом файле, где просто построчно ключ-строка записаны. А если вы какой-то свой формат придумали, то тут уже скорость чтения вряд ли будет отличаться от xml/json. При этом никто не сможет с ним работать, не изучив спецификацию. А вот xml\json знает любой челвоек и есть куча програм и дополнений для того же нотепада.

    Но я уже понял, что у вас был не тычок в сторону конкретно json, а в принципе в любой общепринятый формат и вы предпочитаете самописную проприетарщину никем не поддерживаемую. Не осуждаю, тоже так люблю.
    Написано
  • Как работают переводы на другие языки в играх?

    maaGames
    @maaGames
    K0TlK, хочу холивар! Чем вас не устраивает json? Почему удобнее и лучше хранить строки в XML, вместо json? С учётом того, что этот файл и создаётся и редактируется не в блокноте.
    Написано
  • Нужна ли магистратура программисту какие есть ограничения в ее отсутвии?

    maaGames
    @maaGames
    Сергей Горностаев, Ну общую мысль ты понял, что к наличию диплома претензии чисто бюрократические и, если эти претензии есть, то магистратура будет плюсом. Если требований нет, то и количество и цвет дипломов работодателю не важен.
    Написано
  • Нужна ли магистратура программисту какие есть ограничения в ее отсутвии?

    maaGames
    @maaGames
    Сергей Горностаев, из актуального, недавно "освобождение" от мобилизации для айтишников действовала только на работающих айтишников имеющих профильное высшее образование. В целом, любое хоть что "для айтишников" может быть отклонено, если у тебя нет профильного it-образования, даже если ты 20 лет программистом работаешь. Бумажки полезны, когда от тебя требуют бумажки.
    Но вот знания, полученные в магистратуре - это не прост обумажки. То есть это в любом случае не пустая трата времени. Но вот именно бумажка может ни на что не повлиять при последующем трудоустройстве.
    Наличие любого опыта работы, путь и стажёром на подхвате - это будет больше плюс в большинстве случаев, чем крутой диплом, но без опыта.
    Написано
  • Нужна ли магистратура программисту какие есть ограничения в ее отсутвии?

    maaGames
    @maaGames
    sawertsand, На самом деле, всё ещё проще. Если ты не знаешь, зачем тебе магистратура, то тебе не нужна магистратура :) В магистратуру идут либо те, кто точно знает, зачем ему это надо, либо кто пока не определился, чем хочет по жизни заниматься и просто откладывает принятие решения.
    Написано
  • Нужна ли магистратура программисту какие есть ограничения в ее отсутвии?

    maaGames
    @maaGames
    sawertsand, отличия исключительно бюрократического характера. В гос.конторах будут требовать бумажку, какую именно - как в законе прописано будет на тот момент. В не гос.конторах это никого не интересует.
    Но это именно про трудоустройство. Лично от себя добавлю, что наличие любого образования - это большой плюс лично для тебя. При прочих равных, наличие образования может быть плюсом. С другой стороны, пока ты несколько лет учился на бакалавра и в магистратуре, кто-то со средним образованием уже начал работать и в одном и том же возрасте у тебя будет хорошее образование и ноль опыта, а у этого кого-то уже будет несколько лет реального опыта и уже его с большей вероятность предпочтут. В идеале, параллельно с магистратурой устроиться стажёром работать. Это очень сложно, но, если ты всё-равно работаешь, то лучше уж попробовать работать по будущей специальности.

    И ещё, российские дипломы никак не котируются за границей (не в странах СНГ) и там всё-равно придётся подтверждать квалификацию, как если бы у тебя и не было диплома вообще. Это при условии, что там будет нужно профильное образование для трудоустройства.
    Написано
  • Не работает css в visual studion?

    maaGames
    @maaGames
    rmkjeee, очевидно, что css не подключен к html. Либо написан с ошибками. Открой дебаг-консоль в браузере и смотри ошибки.
    Не важно, пишешь css в блокноте или в IDE. Елси не рабоатет, то или не подключил или написал неправильно.
    Написано
  • Порекомендуйте плагин для интеграции ИИ в MSVC?

    maaGames
    @maaGames Автор вопроса
    Дмитрий, Не можете оплатить Клавдию из России? Да вы просто не хотите разбираться, ВСЁ ОЧЕНЬ ПРОСТО!!!
    Получаете водительские права в Грузии, открываете грузинское ИП, получаете виртуальную сим-Карту в Казахстане, открываете счёт в банке в Турции, для этого достаточно съездить в нетуристический городок (чтобы не вызывать подозрений). Но симки быстро умирают/блокируются, поэтмоу надо будет раз в пару месяцев ездить за новой. Далее всё очень просто, заводите криптокошелёк, преводите деньги в крипту, крипту переводите через посредников на карту в банке Турции, с этой карты пополняете счёт Клавдии и можете польоваться. С этой же турецкой карты покупаете VPN, настраиваете роутер, там всего-лишь сменить прошивку и немножко настроить, буквально две недели мануалы почитать и разберётесь без проблем. И всё, можно будет после этого включить copilot.
    Всё Э Ле Мен Тар Но! Достаточно встать с дивана и начать что-то делать.
    А всё это зачем? Чтобы немножко поразбираться в ИИ-помощнике и понять, будет ли он лично мне вообще полезен... Вроде бы я правильно порядок действий зафиксировал.
    Написано
  • Порекомендуйте плагин для интеграции ИИ в MSVC?

    maaGames
    @maaGames Автор вопроса
    Дмитрий, Я согласен, что это отговорки и это исключительно моя вина, но разве я обязан, ради того, чтобы поиграться с ИИ и понять, будет ли мне от него польза, покупать облачный сервер, уметь его настраивать, поднимать н а нём vpn, создавать криптокошелёк, чтобы заплатить за этот сервер, настраивать роутер по ip или протоколам (или как там роутер узнает, что проксировать, а что нет)...
    Я драматизирую, но, завтра могут запретить пооьзоваться vpn'ом, а крипту ещё сегодня могут запретить, ведь это явно всё идёт мимо налоговой и государству неприятно. Так что, да, в любой момент может перестать работать даже ваш личный vpn. Или продолжит работать, пока кому-то не понадобится срочно месячную норму выполнить и в вашу дверь тогда постучат, через окно. Я опять драматизирую и преувеличиваю.
    Но суть в том, что я хочу поразбираться в современном ИИ, но я не хочу для этого сперва разбираться в десятке дополнительных сервисов, чтобы этот ИИ запустить. Я ленивая жопа? Да. Но для меня такое положение вещей означает, что ИИ ещё не дорос до широкого публичного использования и лишь усложняет работу, а не упрощает. Можно ещё годик подождать, пока не соберут AIO сборку, чтобы даблкликнул и оно всё само настроилось и включилось. Без vpn и криптовалют.
    Написано
  • Порекомендуйте плагин для интеграции ИИ в MSVC?

    maaGames
    @maaGames Автор вопроса
    Дмитрий, То, что любой vpn в любой момент перестанет работать (популярные vpn чуть ли ни каждый день блокируются и прихдится ждать, пока обходные маршруты построят). Сегодня vpn не запрещено использовать, но запрещено про них рассказывать, а завтра и испоьзовать могут запретить. Оплатить тоже пролематично. Я не фанат платить неизвестно каким посредникам... А иностранной карты у меня нет, чтобы платить напрямую. Да и с vpn с хорошим всё работает крайне медленно, ведь траффик гонит через другие страны, да ещё и vpn не в браузере, а на всю систему, то есть тормозит сразу вообще всё. А если покупаешь какой-то местный дешёвый vpn, то точно-точно твои пароли никто не украдёт и траффик сбербанковский не перехватят, они прям это обещают :) Короче, я параноик и не хочу vpn, просто не обращай внимания на этот момент.
    Написано
  • Порекомендуйте плагин для интеграции ИИ в MSVC?

    maaGames
    @maaGames Автор вопроса
    Спасибо за развёрнутый ответ!
    Взять нормальный топовый инструмент проблематично, потому что с россией нормальные топовые инструменты пока что не могут работать (не предлагайте использовать vpn).
    Круто, что ИИ уже может делать то, что мне хочется. Не круто, что мне будет быстрее делать это вручную, чем тратить по 2 часа в день на изучение и поддержку знаний... Но вы совершенно правильно говорите, что надо изучать и учиться. Но хочется-то чудес, чтобы в одном месте, удобно и делало то, что я хочу. Желательно, чтобы мне даже не пришлось объяснять, что я хочу (мемная картинка с тыканьем палочкой со словами "работай...").
    Сейчас мне достаточно примитивных вещей, без обмазывания. И они работают "вообще без знаний" с моей стороны, но приходится копи-пастить в консоль и ответ обратно в IDE. Очевидно, что это может выполняться программно, но слишком много слишком корявых плагинов, перебирать которые неприятно.
    Написано
  • Порекомендуйте плагин для интеграции ИИ в MSVC?

    maaGames
    @maaGames Автор вопроса
    rPman, Ну это сегодня. Ещё вчера ИИ только корявых котиков мог нарисовать, может завтра как-то ещё дообучат чему-то. Я вот и хочу узнать реальные возможности ИИ на сегодняшний день. Вдруг завтра уже наступило, а я не заметил :)
    Написано