How do I reliably download and save files on CE4.1

S

Steve

Hi,

I'm having problems downloading and saving files from the Internet.
When I run the following code multiple times it grinds to a halt on CE4.1
The first time I call it, it works ok, then it gets really slow, and if I
leave it running it takes minutes to return.
However the same exe running on the desktop is fine, and will download all
files fine.

I have a Nexio S160 connected using Wi-Fi,

Any ideas ?

Cheers,
Steve.

int download_file(string webname,string fname)
{
try
{
Stream str;
System.Net.HttpWebRequest wr;
System.Net.HttpWebResponse ws;
FileStream fstr;
wr=(System.Net.HttpWebRequest)System.Net.WebRequest.Create(webname);
ws=(System.Net.HttpWebResponse)wr.GetResponse();
str=ws.GetResponseStream();
BinaryReader reader=new BinaryReader(str,Encoding.UTF8);
int bytesToRead = (int) inBuf.Length;
int bytesRead = 0;
int n;
while(bytesToRead>0)
{
n=reader.Read(inBuf,0,262144*4);
if(n==0)break;
bytesRead+=n;
bytesToRead-=n;
}
str.Close();
ws.Close();
reader.Close();
fstr = new FileStream(fname, FileMode.OpenOrCreate,FileAccess.Write);
fstr.Write(inBuf, 0, bytesRead);
fstr.Flush();
fstr.Close();
}
catch
{
return(1);
}
return(0);
}
 
J

Jon Skeet

Steve said:
I'm having problems downloading and saving files from the Internet.
When I run the following code multiple times it grinds to a halt on CE4.1
The first time I call it, it works ok, then it gets really slow, and if I
leave it running it takes minutes to return.
However the same exe running on the desktop is fine, and will download all
files fine.

I don't know why you're having problems, but your reading code is
definitely flawed. You're reading to the start of your buffer every
time, rather than from the position you'd got to. Your call:

n=reader.Read(inBuf,0,262144*4);

should be

n=reader.Read(inBuf,bytesRead,bytesToRead);
 
S

Steve

Oops,
Just noticed that I posted the wrong reader code, like I said it did run
fine on the desktop, but I've been trying all sorts to try and get it to
work on CE4.1 .

I Just noticed something weird however. Sometimes when I run it, it works as
expected taking about a second per request and other times just sits there
waiting.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

How to download http file. 2
Resource assembly missing? 6
XPath parsing of HTML files 4
VB newbie problem 2

Top