当前位置: 代码迷 >> QT开发 >> qt http 异步解决办法
  详细解决方案

qt http 异步解决办法

热度:84   发布时间:2016-04-25 04:37:12.0
qt http 异步
qt的qhttp类的get是异步操作的,当有几个请求时,底层封装了多线程的套接字交互,也许这应该算是信号与槽结构的优势,可以不影响http过程中界面的交互。
  问题是,get是异步的,当有多个http请求时,done信号发出后,怎么区分是哪个http请求完成了?如果有超时的,怎么知道是哪个超时?头疼。总不能每个请求,就新建一个qhttp对象,来存url地址吧?而且每个http请求的done信号都要映射到主业务类中,岂不是异常麻烦?能不能只用一个qhttp对象,实现异步发起http请求并对所有http的响应解析(比如传文件,获取xml文件的字段值)?

------解决方案--------------------
qhttp已被淘汰,用QNetworkAccessManager和相关类
------解决方案--------------------
用boost.asio比较好
http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/http/client/async_client.cpp
  相关解决方案