Я беру пример EchoClient из репозитория Qt:
https://code.qt.io/cgit/qt/qtwebsockets.git/tree/examples/websockets/echoclient?h=5.14&id=66ea748c2ba1fa35c78c5d55742a982976b07435
Я сделал только одну модификацию, я изменил URL-адрес, который я хотел бы для подключения:
EchoClient client(QUrl("wss://echo.websocket.org"), true);
И это не работает, ожидаемый результат - вызов обратного вызова onConnected, смотрите код ниже.
Я добавил функцию обратного вызова:
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 всегда возвращает
QAbstractSocket::UnsupportedSocketOperationError (10) QAbstractSocket::SocketError
Что я делаю не так? В чем причина этой ошибки?