Приложение Qt, запущенное с аргументом `-platform offscreen`, не может установить соединение с websocket - PullRequest
0 голосов
/ 30 июня 2018

У меня есть приложение с графическим интерфейсом, которое содержит сервер веб-сокетов QWebSocketServer. У меня также есть скрипт Python, который отправляет сообщения, и приложение обрабатывает их. Все работает хорошо Во время тестирования я хотел запустить приложение в автономном режиме, используя -platform offscreen аргумент командной строки, добавленный к имени исполняемого файла приложения (я больше ничего не менял). Но проблема в том, что когда приложение запускается вне экрана, клиентский скрипт не может установить соединение с сервером веб-сокетов. Я проверял это только на localhost. Я не понимаю, как эти две вещи, видимость GUI и веб-сокетов, могут мешать. Есть идеи, что может пойти не так?

Примечание: я использую Qt 5.11.1 64-bit с VS 2017 в Windows 10 Pro.

1 Ответ

0 голосов
/ 01 июля 2018

Плагин платформы - это нечто большее, чем просто «GUI». Опция -platform выбирает семейство платформо-зависимых плагинов. Возможно, некоторые плагины, которые обеспечивают работу сети, отсутствуют на этой платформе. Это очень вероятно, поскольку платформа offscreen является лишь проверкой концепции: она показывает, как вы будете писать плагин для платформы. Это пример кода, и он делает необходимый минимум. Это ничто, что вы должны использовать для производства, не полностью понимая, что там и как это работает - это не было предназначено для этого, по крайней мере, не в последний раз, когда я смотрел на это. Сделать это не должно быть сложно, но вам нужно клонировать источник и начать его взламывать.

...