首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Qt QAbstractSocket::UnsupportedSocketOperationError连接到https://www.websocket.org/echo.html时使用WIN EchoClient

将Qt QAbstractSocket::UnsupportedSocketOperationError连接到https://www.websocket.org/echo.html时使用WIN EchoClient
EN

Stack Overflow用户
提问于 2020-04-23 21:47:48
回答 1查看 627关注 0票数 0

我以Qt存储库中的EchoClient为例:

https://code.qt.io/cgit/qt/qtwebsockets.git/tree/examples/websockets/echoclient?h=5.14&id=66ea748c2ba1fa35c78c5d55742a982976b07435

我只做了一次修改,我更改了我想要连接的URL地址:

代码语言:javascript
复制
EchoClient client(QUrl("wss://echo.websocket.org"), true);

它不能工作,预期的结果是onConnected回调将被触发,请看下面的代码。

我已经添加了错误回调:

代码语言:javascript
复制
EchoClient::EchoClient(const QUrl &url, bool debug, QObject *parent) :
    QObject(parent),
    m_url(url),
    m_debug(debug)
{
    m_webSocket = new QWebSocket;
    if (m_debug)
        qDebug() << "WebSocket server:" << url;
    connect(m_webSocket, &QWebSocket::connected, this, &EchoClient::onConnected);
    connect(m_webSocket, &QWebSocket::disconnected, this, &EchoClient::closed);
    connect(m_webSocket, QOverload<QAbstractSocket::SocketError>::of(&QWebSocket::error),
        [=](QAbstractSocket::SocketError error)
    {
        qDebug() << "error: " << error;
    });
    QNetworkRequest request=QNetworkRequest(QUrl(url));
    m_webSocket->open(request);
}

我看到的是Qt总是返回

代码语言:javascript
复制
QAbstractSocket::UnsupportedSocketOperationError (10) QAbstractSocket::SocketError

我哪里做错了?这个错误的原因是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-04-24 00:32:38

它要求在系统上安装OpenSSL。尽管Qt安装程序将一些Open SSL库放到了Qt\Tools文件夹中,但这还不足以使其正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61388831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档