这个问题对应于这个QtWebSockets的实现。使用QtWebSockets - 无法连接到echoserver
我想在一个更大的基于qt的项目中包含websockets服务器功能。
我已经克隆了上面的回购并构建了库以及示例应用程序(发布模式)。在这些例子中有echoserver
和echoclient
。内置后,我开始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, 索博尔奇
我想你找到了一个bug。我已经测试过了,由于“远程主机关闭了连接”,回显客户端立即退出。将客户端连接到echo.websocket.org确实可行。注意补丁:-) –
该错误已得到解决。我正在等待为要合并的修补程序重新配置Qt CI配置。我想下周在某个地方。如果您想暂时解决该错误:请将文件qwebsocketserver_p.cpp中第77行的SecureMode更改为NonSecureMode。 –
非常感谢您对此的调查!我尝试了推荐的修复方法,但这对我的情况没有帮助。我们等待“官方”补丁。 – novaczkisz