首页| 论坛| 消息

标题:QNetworkAccessManager post 一个http请求,返回QIODevice::read (QDisabledNetworkReply): device not open
作者:ihunteri
日期:2017-04-17 14:13
内容:

我用 QNetworkAccessManager post一个http请求,返回后,收到的QNetworkReply* reply,去readAll()的时候,返回QIODevice::read (QDisabledNetworkReply): device not open
这是什么问题?


#1 [ihunteri 04-17 15:15]
之前post http请求都是正常的,但是断了一次网以后,去readAll()的时候,返回QIODevice::read (QDisabledNetworkReply): device not open
#2 [never_forget 04-17 17:04]
客户端在发起 HTTP 请求的时候其实是和服务器建立了连接的,如果程序断网了,服务器会保留这个连接一段时间,但是客户端没做处理就直接断了,所以客户端在第二次发起请求会比第一次快(短时间内,长时间服务器也放弃了这个连接),客户端当然一脸懵啦,它找不到连接,你想到这个连接通道读取东西,没戏哦~~~~~
#3 回 never_forget 的帖子 [ihunteri 04-18 09:12]
never_forget:客户端在发起 HTTP 请求的时候其实是和服务器建立了连接的,如果程序断网了,服务器会保留这个连接一段时间,但是客户端没做处理就直接断了,所以客户端在第二次发起请求会比第一次快(短时间内,长时间服务器也放弃了这个连接),客户端当然一脸懵啦,它找不到连接,你想到这个连 .. (2017-04-17 17:04) 
那我应该怎么解决?
#4 回 ihunteri 的帖子 [never_forget 04-18 15:22]
ihunteri:那我应该怎么解决? (2017-04-18 09:12) 
再发一次请求呗,网络正常就不要考虑这种断线重连的问题了哦...
#5 回 never_forget 的帖子 [stlcours 04-19 21:26]
never_forget:客户端在发起 HTTP 请求的时候其实是和服务器建立了连接的,如果程序断网了,服务器会保留这个连接一段时间,但是客户端没做处理就直接断了,所以客户端在第二次发起请求会比第一次快(短时间内,长时间服务器也放弃了这个连接),客户端当然一脸懵啦,它找不到连接,你想到这个连 .. (2017-04-17 17:04) 
那客户端怎么知道中间断过没有??

<< 1 2 3 >> (1/3)

回复 发表
主题 版块