none
Wininet中函数阻塞与非阻塞的困惑 RRS feed

  • 问题

  • 我使用Wininet开发网络应用时遇到个奇怪的问题. 大家知道Wininet中有个已知bug,像internetreadfile()设置的超时是没用的.该函数会一直阻塞,要实现非阻塞方式,需要另起一线程执行internetreadfile()操作,而在主线程中设置超时来达到非阻塞的效果.

    我在windows xp sp3, vc++ 6.0的环境下,internetreadfile(), internetopenurl()这些函数都是会一直阻塞的,但是同样的代码在windows 7, vc++ 6.0和vs 2008下, 这两个函数都会在阻塞30s后返回.

    请教高手这是怎么回事?

    2013年4月28日 0:30