本文主要是介绍使用Qt的WebSocket模块小常识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
本次主要记录下笔者在项目中遇到的问题,希望读者在开发过程中,可以少走点弯路,提高下开发效率
一、WebSocket
关于客户端的示例,官方已经提供了完整的代码,笔者不再重复。
在Qml中,WebSocket类型没有提供忽略SSL错误的接口,若证书的服务器地址与实际访问地址不相同时,会提示错误,且无法连接。若想正常连接,可以添加信任证书。
以win10下的谷歌浏览器为例,操作如下
笔者使用的是自签名证书,剩余步骤就不详细写了。添加完成后,就可以在本机使用wss的websocket连接了
二、WebSocketServer
Qt的websocket服务端,本身就是面向嵌入式,并不适合作为一个专业服务器使用,但对嵌入式来说足够了。
Qt也有完整的示例,笔者不再重复。但有一点笔者要说明下,当前的版本不支持websocket扩展,所以使用自签名证书时,浏览器可能会认为这不是一个可信的地址(即使已经添加为信任的证书)。
笔者介绍一个解决办法,在火狐浏览器中,添加例外,操作如下:
要注意一点的是,地址是https://开头的
如wss://192.168.11.11:5555,对应的地址是https://192.168.11.11:5555
若能成功获取到证书,确认安全例外按键就可以点击,这样就可以在网页中正常使用wss的websocket连接了
注:这种方法适合火狐浏览器
后记
在Qt5中,笔者曾测试过websocket服务端的多线程,结果并不理想。不过也可以理解,毕竟是面向嵌入式的。在Qt6.4中,出现了httpserver的技术预览版,若有时间,笔者会介绍下它的使用方法。
这篇关于使用Qt的WebSocket模块小常识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!