Проблемы с проверкой соединения виртуального сервера (vps) с qt
Я хочу ввести в программу ip, имя пользователя и пароль виртуального сервера (vps), и программа проверяет правильность имени пользователя и пароля или нет.
Я использовал следующий код
void MainWindow::test()
{
QLoggingCategory::setFilterRules("qt.network.ssl.warning=false");
QNetworkAccessManager* manager = new QNetworkAccessManager(this);
QUrl url;
url.setHost("xx.xxx.xx.xx");
url.setPort(3389);
url.setUserName("administrator");
url.setPassword("xxxx");
manager->get(QNetworkRequest(url));
connect(manager,&QNetworkAccessManager::finished, this, &MainWindow::connFinished);
}
выход:
QNetworkReply::NetworkError(ProtocolUnknownError)
пожалуйста, направь меня
1 ответ
Если вы хотите знать, если хост находится в сети: я бы предложил вам использовать connectToHost из класса QAbstractSocket. RDP-протокол основан на TCP/UDP согласно Википедии и прослушивает 3389 (что вы сказали в комментариях).
Если соединение по TCP 3389 успешно, хост подключен.
Если вы хотите проверить, подключен ли хост и работает ли аутентификация, вы должны внедрить свою собственную RDP-библиотеку, такую как FreeRDP, потому что Qt не предоставляет никаких основных модулей для RDP.