• 1429阅读
  • 7回复

[提问]http请求无法二次发起,何故? [复制链接]

上一主题 下一主题
离线mugua001
 

只看楼主 倒序阅读 楼主  发表于: 2021-07-16
QNetwordAccessManager  *Mgr;  (在窗口的构造函数中new());
QNetworkRequest nReq;
QNetworkReply *nRepy;
fun01()
{
nRepy = Mgr->get(nReq)
}
第1次fun01(),一切正常;
由于是GUI窗口界面,当第二次再  执行 fun01()时,就卡死。尝试过 Mgr->disconnect() 亦无效;

如何解?谢谢
离线liudianwu

只看该作者 1楼 发表于: 2021-07-16
肯定是你代码的问题,不用怀疑!
欢迎关注微信公众号:Qt实战 (各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发)QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线mugua001

只看该作者 2楼 发表于: 2021-07-16
回 liudianwu 的帖子
liudianwu:肯定是你代码的问题,不用怀疑! (2021-07-16 18:17) 

可能会是在哪个环节上?
Mgr是否需要断开重连 ?
离线mugua001

只看该作者 3楼 发表于: 2021-07-16
回 liudianwu 的帖子
liudianwu:肯定是你代码的问题,不用怀疑! (2021-07-16 18:17) 

请问,第一次请求完了。若Mgr未执行disconnect,是不是这个 http 的会话一直保存着的?(类似浏览器里的cookie或 token一直保存且有效?)
离线liulin188

只看该作者 4楼 发表于: 2021-07-16
回 mugua001 的帖子
mugua001:请问,第一次请求完了。若Mgr未执行disconnect,是不是这个 http 的会话一直保存着的?(类似浏览器里的cookie或 token一直保存且有效?) (2021-07-16 19:44) 

是的
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线mugua001

只看该作者 5楼 发表于: 2021-07-17
回 liudianwu 的帖子
liudianwu:肯定是你代码的问题,不用怀疑! (2021-07-16 18:17) 

问题解决了!留个消息,让后来的同学,免得跟我一样踩坑。

我的问题在于   nReq    *nRepy为全局变量;改为函数私有变量使用,即 正常了。

不知道为何 不能用全局变量……请高手们解惑。
离线liudianwu

只看该作者 6楼 发表于: 2021-07-17
回 mugua001 的帖子
mugua001:问题解决了!留个消息,让后来的同学,免得跟我一样踩坑。
我的问题在于   nReq    *nRepy为全局变量;改为函数私有变量使用,即 正常了。
....... (2021-07-17 00:49) 

用完记得reply->deleteLater();
欢迎关注微信公众号:Qt实战 (各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发)QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线mugua001

只看该作者 7楼 发表于: 2021-07-19
回 liudianwu 的帖子
liudianwu:用完记得reply->deleteLater(); (2021-07-17 08:36) 

啊?
我只在关闭时  Mgr->deleteLater了。Mgr是全局的。

我这个是局部, Mgr->get()直接初始化的,也必需是吧?
快速回复
限100 字节
 
上一个 下一个