无法使用任何QWebSocket客户端基本示例

时间:2014-09-04 13:50:02

标签: c++ qt websocket osx-lion

我无法使用此处列出的任何QWebSockets客户端示例: http://qt-project.org/doc/qt-5/qtwebsockets-examples.html 应用程序尝试打开localhost url,套接字卡在QAbstractSocket :: ConnectingState和

  

qDebug()<< m_webSocket.error();

返回QAbstractSocket :: UnknownSocketError。当然'连接'信号永远不会发出。 我在osx狮子中有qt 5.3。我有OpenSSL 1.0.1i和

  

QSslSocket :: supportsSsl();

返回true。

我真的没有想法,所以如果你有任何生病,请非常感激。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

首先,在这种情况下,我认为ssl不是问题。

我刚刚运行了这些示例,它运行正常。这意味着可能存在以下常见问题之一(或者可能存在其他我不知道的问题)。

  • 其他进程正在使用本地端口号1234。这意味着,尝试修改EchoClient client(QUrl(QStringLiteral("ws://localhost:1234")));并将1234替换为88889001等数字可以解决问题。请注意,在这种情况下,您必须在客户端和服务器程序中更改端口。 (如果你不明白我在说什么,请阅读下一点以完全理解。)
  • 在相应的服务器程序运行时运行客户端程序。例如,当您运行echoclient时,您应该保持echoserver运行。如果您在Windows或Linux中,可以通过打开两个Qt Creator进程并先运行echoserver然后再运行echoclient来执行此操作。如果你在Mac,你不能创建两个Qt Creator实例(至少在Yosemite,我不知道osx lion)。您必须运行echoserver(并且不要关闭控制台),然后打开echoclient项目并将echoclient设置为Active Project并运行。

  • (虽然不太可能)如果您要打开一个项目,从网站复制cpp文件并将其粘贴到项目中然后进行编译(而不是从您的示例选项卡中下载它) Qt Creator),那么你可能会丢失.pro文件的配置。只需在项目的websockets文件中添加QT += core .pro

如果不是这些情况,那么您可以告诉我,在这种情况下您也可以尝试在Qt forum发帖。