ASIHTTPRequest 上传文件无响应问题研究

很多服务器不会在响应头中规定持久连接的持久时间,它们可能会在任何一个request完成时候关闭连接。如果一个服务器没有规定持久连接的持久时间,ASIHTTPRequest将会在一个request完成后,保持连接60秒。对于你的服务器设置来时,60可能很长,也可能很短。
如果这个超时时间太长,那么可能一个request使用这个连接时,服务器可能已经关闭了这个连接。当ASIHTTPRequest遇到连接已关闭错误,它就会在一个新的连接上重试这个request。
如果这个超时时间太短,而服务器却更想让这个连接保持更长时间,但是ASIHTTPRequest又开启了不必要的新连接,那么这将导致效率降低。

// 设置持久连接的超时时间为120秒  
[request setPersistentConnectionTimeoutSeconds:120];  
// 彻底禁用持久连接  
[request setShouldAttemptPersistentConnection:NO];  
//强制使用HTTP 1.0  
[request setUseHTTPVersionOne:YES];  
posted @ 2015-12-23 17:20  沙影无痕  阅读(218)  评论(0编辑  收藏  举报