ssl套接字不支持错误

时间:2015-10-15 06:23:52

标签: qt websocket tornado

我在linux centos 6.6上运行龙卷风webserver以获得安全的websocket连接。我正在使用Qt / c ++客户端通过打开像“wss://191.23.4.56/etr/job”这样的URL来使用QWebsocket进行连接。 我得到的错误就像, “此平台不支持SSL套接字” 这个错误是什么?

1 个答案:

答案 0 :(得分:5)

错误消息"此平台不支持SSL套接字" 由网址QWebSocket::open()和{{1}时由wss打印}}返回QSslSocket::supportsSsl()

静态成员函数QSslSocket::supportsSsl()

  

如果此平台支持SSL,则返回true;否则,返回false。   如果平台不支持SSL,则套接字将失败   连接阶段。

这是你的主要问题。现在我们需要找出false认为平台不支持SSL的原因。

如果您将Qt作为二进制包下载,则函数Qt会尝试动态加载所需的库supportsSsl()libssl

如果无法加载这些库,则函数libcrypto将返回supportsSsl()

您的系统中可能未安装false。如果您可以在系统中找到库二进制文件,但Qt未加载它们,那么您的二进制文件libssl和/或libssl可能与二进制Qt不兼容。

为避免此类问题,您可以构建自己的Qt。例如,有一条新的指令如何构建Qt-5.5.1。请注意libcrypto配置开关的技巧。它支持将OpenSSL库集成到Qt5库中,而不是在运行时动态加载它们。