2014-01-25 32 views
3

这个问题对应于这个QtWebSockets的实现。使用QtWebSockets - 无法连接到echoserver

我想在一个更大的基于qt的项目中包含websockets服务器功能。

我已经克隆了上面的回购并构建了库以及示例应用程序(发布模式)。在这些例子中有echoserverechoclient。内置后,我开始echoserver,这似乎是成功的(在终端上我看到:Echoserver listening on port 1234)。然后我开始echoclient,立即退出(在控制台上没有打印输出)。服务器控制台不显示检测连接尝试的任何迹象。服务器收听0.0.0.0:1234(与netstat一起检查)。客户端尝试连接"ws://localhost:1234/"

我修改了echoclient示例以连接到echo.websocket.org并重建它。启动客户端后,它会成功连接,并且发送的消息会被回显。

我用websocket客户端创建了一个简单的html文件,试图连接到echoserver并用浏览器打开它。这再次无法连接到服务器(使用echo.websocket.org)。

环境:

  • Ubuntu的13.10(64位)的运行作为WIN7机器上的的virtualbox客人。
  • Qt5.2(64位)

我认为这是值得做的VirtualBox的网络设置,所以我反复整件事以上的主机操作系统(WIN7,64位)。我得到相同的结果。

BR, 索博尔奇

+0

我想你找到了一个bug。我已经测试过了,由于“远程主机关闭了连接”,回显客户端立即退出。将客户端连接到echo.websocket.org确实可行。注意补丁:-) –

+0

该错误已得到解决。我正在等待为要合并的修补程序重新配置Qt CI配置。我想下周在某个地方。如果您想暂时解决该错误:请将文件qwebsocketserver_p.cpp中第77行的SecureMode更改为NonSecureMode。 –

+0

非常感谢您对此的调查!我尝试了推荐的修复方法,但这对我的情况没有帮助。我们等待“官方”补丁。 – novaczkisz

回答

1

此问题不会使用Qt 5.4发生了。根据上面的评论,这是Qt中的一个错误,现在似乎已经修复了,因为在我的环境中,回声消除器和回声消除器工作得很好。

我的环境:

  • 的Ubuntu 14.04(64位)作为运行WIN7机器上的VirtualBox的客人。
  • Qt5.4(32位)

因此,我建议作为回答,以纪念这个问题。