QWebSocket“未知错误”

时间:2017-03-09 01:53:30

标签: c++ qt websocket qt5

我一直在尝试使用Qt websocket类设置websocket客户端。 不幸的是,我无法完成第一步:将我的客户端连接到服务器。

我确信连接是可行的,因为Go ws websocket client和C ++ easywsclient library都可以连接并与服务器连接。

我的代码的相关部分如下:

  QWebSocket socket;
  socket.open(QUrl("ws://localhost:9999"));
  qDebug() << socket.error() << socket.errorString();

运行程序时,我收到以下(无用的)消息:

QAbstractSocket::UnknownSocketError "Unknown error"

有没有办法澄清错误和/或解决问题?

P.S。虽然easywsclient库可以连接并与服务器连接,但它只能做一个边缘工作,这就是我宁愿使用Qt类的原因。

1 个答案:

答案 0 :(得分:1)

没有错误。 open()是异步的。将connected()disconnected()error()textMessageReceived()信号连接到QObject派生对象的广告位。如果它是一个非常基本的应用程序,请使用一些lambdas:

QWebSocket socket;
QObject::connect(&socket, &QWebSocket::connected, [] { qDebug() << "connected"; });
QObject::connect(&socket, &QWebSocket::error, [](QAbstractSocket::SocketError error) { qDebug() << error; });
socket.open(QUrl("ws://localhost:9999"));