Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 805343
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T00:04:04+00:00 2026-05-15T00:04:04+00:00

I’m writing a program that among other things needs to download a file given

  • 0

I’m writing a program that among other things needs to download a file given its URL. I’m too lazy to implement the Http/Https protocols manually, so that I needed some library/object/function that’ll do the job.

Critical requirement: The download must be asynchronous. That is, the thread that issued the download must be able to do something else “while” downloading the file, plus the download must be able to be aborted anytime without any barbaric side effects (such as internal call to TerminateThread).

Nice-to-have requirements:

  • Should be able to download the file “into memory”. Means – read the contents of the file as they arrive, not necessarily save it into some “file system” file.
  • It’d be nice to have some convenient Win32 progress notification mechanism (waitable event, semahpore, completion port, etc.), rather than just periodically polling the download status.

I’ve chosen the XmlHttpRequest COM object to do the work. It seemed to work fine enough, plus it supported asynchronous mode.

However I noticed that after some period it just stops working.
That is, after several successful file downloads it stops downloading anything.

I periodically poll it to get its status, it reports “in-progress”, but nothing actually happens, and there’s no network activity. Moreover, when the same process creates another instance of XmlHttpRequest object to perform new downloads – the effect is the same. The object reports “in progress”, whereas it doesn’t even try to connect to the server (according to network sniffers and system TCP state).

The only way to make this object work back is to restart the process. This makes me suspect that there’s a sort of a bug (sorry, I meant undocumented feature) in the object. Also it’s not a bug at the level of an individual object, since the problem persists when the object is destroyed and another one is created. It’s probably some global state of the DLL that implements this object.

Does anyone know something about this? Is this a known bug?
I’m pretty sure there’s no chance that I have another bug in my code, because of which it seems to me to be the bug is in the XmlHttpRequest. I’ve done enoughtests and spent time with the debugger to conclude without reasonable doubt that it’s just the object stops working.

BTW, while the object should work, I do all the waiting via MsgWaitXXXX API calls. So that if this object needs the message loop to work properly (for instance, it may create a hidden notification window and bind it to a socket via WSAAsyncSelect) – I give it the opportunity.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T00:04:04+00:00Added an answer on May 15, 2026 at 12:04 am

    I know from my own experiences that the Microsoft implementation of the XmlHttpRequest falls short of full compliance with the draft standard. In particular the standard mandates that streamed data should be able to be extracted in ready state ‘3’ (Receiving) which IE deliberately ignores.

    Unfortunately I have not seen what you are describing despite using XmlHttpRequest objects extensively for long polling purposes.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

link Im having trouble converting the html entites into html characters, (&# 8217;) i
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I have just tried to save a simple *.rtf file with some websites and
I have a French site that I want to parse, but am running into
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
Seemingly simple, but I cannot find anything relevant on the web. What is the
Does anyone know how can I replace this 2 symbol below from the string
this is what i have right now Drawing an RSS feed into the php,
I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out
I want to count how many characters a certain string has in PHP, but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.