我在对话框放了一个IE控件,
这里面处理IE控件的OnDocumentComplete来检测是否接收数据完毕
这个对话框类有两个方法用来发送Request和接收Response
SendRequest(CString & request,CString & url)
GetResponse(CString & response)然后另外在主窗口中调用这个对话框的方法来测试:原来是希望在GetResponse中能够实现阻塞,就是等到下载完毕了或者错误了才能够返回,
但是发现如果在GetResponse里用等待方法(比如Sleep)来循环检查根本不行,这样IE控件也被阻塞了。
 
请问怎样才能实现阻塞方式的GetResponse?

解决方案 »

  1.   

    检测IE的OnDocumentComplete可以参考
    http://dev.csdn.net/develop/article/13/13449.shtm
    不必用循环检测的方法。
      

  2.   

    我已经处理了OnDocumentComplete事件的, 现在是要封装了这个对话框和IE控件,使得外部可以很容易的调用SendRequest和GetResponse, GetResponse要阻塞方式的
      

  3.   

    高手帮帮忙啊, 我现在的目的就是要包装好IE控件,使得Client可以简单的只通过SendRequest和GetResponse就发送和接收HTTP数据,而不会让OnDocumentComplete这些事件和Client程序关联上。 
      

  4.   

    www.thecodeproject.com/internet/httpget-post.asp 
    see this example
      

  5.   

    to kingzai 
    但是这种方式没法象IE控件一样维护session能有好的方法封装IE控件 实现象同步socket的GetResponse吗?Client程序都是通过timer来检测是否Document Complete,但是我想直接在GetResponse中阻塞调用方的线程等待直到获取到数据或者超时才返回
      

  6.   

    自己解决了
    把这个对话框放到另外一个CWinThread中运行...
    使得它独立于客户端的窗口结贴...