如何使Qt Websocket和QNetworkRequest (HTTP)使用相同的连接

How to make Qt Websocket and QNetworkRequest (HTTP) to use the same connection?

本文关键字:连接 HTTP Qt 何使 Websocket QNetworkRequest      更新时间:2023-10-16

是否有可能与Qt升级一个HTTP连接,处理正常的HTTP请求到一个Websocket具有相同的连接?

我正在考虑与Poco库类似的东西,但所有在Qt中完成类似于QtWebApp。

简单的答案是否定的,这主要是因为服务器端的具体情况。Qt只是遵循服务器(HTTP/WebSocket)提供的协议,主要作为客户端开发框架,AFAIK将无法完成从HTTP到WebSocket的转换,这是两种不同的协议。但是,当然,理论上只要两个协议都能够使用IP端口80,就可以做到这一点。但这意味着新的唯一的服务器和新的唯一的客户端实现。

我们在应用中同时使用了WebSocket和REST。WebSocket是用来通过服务器触发客户端做某事的。客户端从服务器获得"poke",并开始与服务器进行正常的基于http的JSON交换。

相对链接:https://softwareengineering.stackexchange.com/questions/276253/mixing-rest-and-websocket-in-the-same-api