0

我想在程序中输入虚拟服务器(vps)的ip、用户名和密码,程序检查用户名和密码是否正确。

我使用了以下代码

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)

请指导我

4

1 回答 1

0

如果您只想知道主机是否在线:我建议您使用QAbstractSocket 类中的connectToHost。根据Wikipedia ,RDP 协议基于 TCP/UDP,并侦听 3389(您在评论中所说的)。

如果 TCP 3389 上的连接成功,则主机在线。

如果您想验证主机是否在线并且身份验证是否有效,您必须实现自己的 RDP 库,例如FreeRDP,因为 Qt 没有为 RDP 提供任何核心模块。

于 2017-09-07T22:35:04.140 回答