Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2685
  • Last Modified:

CHTTPFile::SendRequest problem

I am using CHTTPFile::SendRequest to Post data to a website.  This seems to work fine about 3/4 of the time.  The problem is that after posting 2 or 3 pages, the next page I try to post wont work.  It will just hang on the SendRequest call untill finally an exception is thrown with the error text, "The operation timed out".  

I have a couple questions:

1 ) When this happens it takes about 3 minutes for the operator to time out.  Is there any way I can shorten this time?  3 minutes is ridicuously too long, as a successful call takes less than 2 seconds.

2) Why is this timing out at all?  It happens like clockwork; after 2-4 successful calls, I will have this problem.  It is always the same error (The operation timed out).  I know that the server is still accessible, because I can open another instance of my program and post data just fine.

Here is pseudo code on how I perform my post operation:

CInternetSession session;
CHTTPConnection* m_pWebConnection;
CHTTPFile* m_pWebFile;
CString m_strWebHeaders = _T("Content-Type: application/x-www-form-urlencoded");
m_pWebConnection = session.GetHttpConnection(...);
m_pWebFile = m_pWebConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,<some string>);
try {
  m_pWebFile->SendRequest(m_strWebHeaders,<data>, <data length>);  // this will time out about 3/4 of the time
}
catch(CInternetException * pe)
// This is where it catches the timout error      
0
lwinkenb
Asked:
lwinkenb
  • 3
  • 2
1 Solution
 
Roshan DavisCommented:
Did you tried
CHttpFile::SetOption with flag "INTERNET_OPTION_CONNECT_TIMEOUT"

Rosh :)
0
 
Roshan DavisCommented:
Try this one for 20 seconds

session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 1000 * 20);

Rosh :)
0
 
lwinkenbAuthor Commented:
thanks roshmon, ill give that a try to set the timeout.  Any ideas why it would timeout in the first place?
0
 
lwinkenbAuthor Commented:
well, I think I just figured out my problem.  I wasnt closing my CHTTPFile after the method ended.  When I started closing it, the timeouts stopped.

Well learning how to set the timeout was worth 500 points to me :)
0
 
Roshan DavisCommented:
>>  I wasnt closing my CHTTPFile after the method ended.
Ohh  yes, that could be the actual problem.

Thankx
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now