http异步请求997问题?

zytkwlh 2010-09-30 10:56:14
以下是部分代码,当异步请求返回997时 就等待i/o处理完毕 在执行 可是为什么会无限等待下去?这样程序不就死掉了 没有任何反应
如果自己定义超时的话 就总是超时!
if (!(hOpen = InternetOpen(L"Mozilla/4.0.(compatible;.MSIE.4.01;.Windows.CE;.PPC;.240x320)", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_ASYNC)))
{
hr = GetLastError();
printf("%d", hr);
goto Error;
}


if (InternetSetStatusCallback(hOpen,(INTERNET_STATUS_CALLBACK)&Callback) == INTERNET_INVALID_STATUS_CALLBACK)
{

goto Error;
}


//ResetEvent(this->hEvent);
if (!(hConnect = InternetConnect(hOpen, IP,PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, (DWORD) this)))
{
hr = GetLastError();
if (hr != ERROR_IO_PENDING)
{
printf("%d", hr);
goto Error;
}
else
{

WaitForSingleObject(hConnectedEvent, INFINITE);
}
}


//ResetEvent(this->hEvent);
// TCHAR objectName[64];
if (!(hRequest = HttpOpenRequest (hConnect, L"POST",URL , NULL, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE, (DWORD) this)))
{
if (GetLastError() != ERROR_IO_PENDING)
{

goto Error;
}

WaitForSingleObject(hRequestCompleteEvent, INFINITE);
}
...全文
105 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧