PC Review Forums Newsgroups Microsoft DotNet Microsoft Dot NET Compact Framework How do I reliably download and save files on CE4.1

Reply

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

 
Thread Tools Rate Thread
Old 07-07-2003, 09:20 PM   #1
Steve
Guest
 
Posts: n/a
Default How do I reliably download and save files on CE4.1


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);
}


  Reply With Quote
Old 07-07-2003, 09:30 PM   #2
Jon Skeet
Guest
 
Posts: n/a
Default Re: How do I reliably download and save files on CE4.1

Steve <steve@hotmail.com> wrote:
> 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);

--
Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet/
If replying to the group, please do not mail me too
  Reply With Quote
Old 07-07-2003, 10:03 PM   #3
Steve
Guest
 
Posts: n/a
Default Re: How do I reliably download and save files on CE4.1

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.

"Jon Skeet" <skeet@pobox.com> wrote in message
news:MPG.1973f6b9dea2797598a06b@news.microsoft.com...
> Steve <steve@hotmail.com> wrote:
> > 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);
>
> --
> Jon Skeet - <skeet@pobox.com>
> http://www.pobox.com/~skeet/
> If replying to the group, please do not mail me too



  Reply With Quote
Reply



Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off