游子的博客
慈母手中线,游子身上衣, 临行密密缝,意恐迟迟归, 谁言寸草心,报得三春晖。 数据读取中,请稍候......
posts - 336,  comments - 546,  trackbacks - 0

我在HTTP编程时,遇到一个麻烦,执行OpenRequest很快就返回了,但执行SendRequest有时候到等几分钟,不知道系统在干什么?
在网上查了,用了SetOption设置超时也不管用,不知道有哪位遇到过这个问题?请多指教。
代码片断如下:

  pHttpCnn = session.GetHttpConnection(m_server,0, m_port);
  assert(pHttpCnn != NULL);
  
    session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,10);  
    session.SetOption(INTERNET_OPTION_DATA_SEND_TIMEOUT,10);  
    session.SetOption(INTERNET_OPTION_DATA_RECEIVE_TIMEOUT,10);  

  pHttpFile = pHttpCnn->OpenRequest("GET", strGet);
  assert(pHttpFile != NULL);

  bool b = pHttpFile->SendRequest();

posted on 2007-06-09 23:05 游子 阅读(2601) 评论(8)  编辑 收藏 引用 所属分类: 软件原创技术

FeedBack:
# re: SendRequest如何设置超时?
2007-10-24 22:35 | msn:luowei886@hotmail.com
我也想知道呀,怎么设置超时  回复  更多评论
  
# re: SendRequest如何设置超时?[未登录]
2008-03-01 21:24 | Eric
不像是超时,应该是函数本身卡住了,即当服务器没有开启时出现致命错误...
  回复  更多评论
  
# re: SendRequest如何设置超时?
2008-03-06 14:35 | 游子
@Eric
既然服务器没有开,那客户端就应该关闭连接,退出啊?  回复  更多评论
  
# re: SendRequest如何设置超时?
2008-04-15 09:54 | szmodem
还是不知道如何设置超时。  回复  更多评论
  
# re: SendRequest如何设置超时?
2008-08-26 13:41 | 学而
为什么一定要设置超时呢``
SendRequest是创建并发送请求,连接错误或无效的请求将会导致 SendRequest 方法返回一个空对象。。而当程序重复这个空对象的时候就会陷入半死循环,最终自动忽略之后跳过。推断是这样  回复  更多评论
  
# re: SendRequest如何设置超时?
2008-08-27 09:30 | 游子
@学而
而当程序重复这个空对象的时候就会陷入半死循环?不太理解,这个函数它好久都不返回呢。我没有再重复使用啊!  回复  更多评论
  
# re: SendRequest如何设置超时?
2013-07-22 19:57 | fniux
try{
myHttpFile->AddRequestHeaders(_T("Accept: text/*\r\nUser-Agent: MFC\r\n"));
myHttpFile->SendRequest();
}catch(CInternetException* e1)
{
return false;
}
在try里面不会发生致命错误  回复  更多评论
  
# re: SendRequest如何设置超时?
2013-08-11 12:24 | youzi
@fniux
谢谢,你回答的是不出现异常,是对eric的回复吧。
不知道设置超时有没有办法呢?  回复  更多评论
  
只有注册用户登录后才能发表评论。

欢迎大家扔鸡蛋!送鲜花!

博客可以收入过千吗?

<2007年6月>
日一二三四五六272829303112345678
91011121314151617181920212223242526272829301234567

常用链接

留言簿(8)

随笔分类(313)

随笔档案(336)

文章分类(7)

文章档案(10)

相册

收藏夹(1)

其它

友情链接

数字电视

生活、旅游

自己的链接

计算机

搜索

  •  

积分与排名

  • 积分 - 342368
  • 排名 - 9

最新评论

阅读排行榜

评论排行榜