往一个JSP的服务器上发东西。
代码是这样的:
HINTERNET hInternet;
HINTERNET hHTTPConnect;
HINTERNET hRequest;
char *optional="Restart"; hInternet=::InternetOpen ("NDSCOMM",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
hHTTPConnect=::InternetConnect(hInternet,serverAddr,nPort,"Expanse","WWW",INTERNET_SERVICE_HTTP,0,1);
hRequest=::HttpOpenRequest(hHTTPConnect,"POST",targetObj,"HTTP/1.1",NULL,NULL,INTERNET_FLAG_DONT_CACHE,1);
strcpy(request,"Content-Type: application/x-www-form-urlencoded");
HttpAddRequestHeaders(hRequest,request,strlen(request),0); strcpy(request,"Accept: */*");
HttpAddRequestHeaders(hRequest,request,strlen(request),0); strcpy(request,"Content-Length: ");
strcat(request,_itoa(strlen(optional),t,10)); HttpAddRequestHeaders(hRequest,request,strlen(request),0); BOOL bRet; bRet=HttpSendRequest(hRequest,NULL,0,optional,strlen(optional));
在最后一步,服务器没有返回Reponse的时候,程序会处于无限等待状态。
问:怎么让程序程序往下运行,不能等待。
代码是这样的:
HINTERNET hInternet;
HINTERNET hHTTPConnect;
HINTERNET hRequest;
char *optional="Restart"; hInternet=::InternetOpen ("NDSCOMM",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
hHTTPConnect=::InternetConnect(hInternet,serverAddr,nPort,"Expanse","WWW",INTERNET_SERVICE_HTTP,0,1);
hRequest=::HttpOpenRequest(hHTTPConnect,"POST",targetObj,"HTTP/1.1",NULL,NULL,INTERNET_FLAG_DONT_CACHE,1);
strcpy(request,"Content-Type: application/x-www-form-urlencoded");
HttpAddRequestHeaders(hRequest,request,strlen(request),0); strcpy(request,"Accept: */*");
HttpAddRequestHeaders(hRequest,request,strlen(request),0); strcpy(request,"Content-Length: ");
strcat(request,_itoa(strlen(optional),t,10)); HttpAddRequestHeaders(hRequest,request,strlen(request),0); BOOL bRet; bRet=HttpSendRequest(hRequest,NULL,0,optional,strlen(optional));
在最后一步,服务器没有返回Reponse的时候,程序会处于无限等待状态。
问:怎么让程序程序往下运行,不能等待。
解决方案 »
- IOCP是阻塞模型是吧?
- 有个维持最顶部状态的窗口A,VC如何建立一个窗口在维持在A窗口前面
- vs2008 调试时无法查看变量值
- 如何枚举发送框(CRichEditCtrl)中插入的OLE对象 获取了Ole对象 又怎么获取图片文件的信息(如文件名 转意字符)???????????????????????
- socket广播后响应的问题
- 单击listbox一项时如何获取其值?
- [project settings] 加 UNICODE,_UNICODE 編譯出現error LNK2001: unresolved external symbol _WinMain@16
- include头文件时遇到的问题,请进来看看
- 在installshield中,如何改变welcome对话框的左边的图片?
- popup menu菜单消息和WM_NCHITTEST消息的问题
- 想清空一个CHAR AAA[100]怎么做?
- 如何删除工具栏中的某个按钮?
Using WinInet HTTP functions in Full Asynchronous Mode
我个人比较喜欢用另外一个线程杀死这个阻塞的connect线程。