Copy files with specified speed

  • Thread starter Thread starter Nikolay Petrov
  • Start date Start date
Hmmm... really big stretch of the imagination here... maybe he doesn't want
to disrupt bandwidth too much for other applications or users when doing a
large background transfer of data.

I have personally looked for some generalized way to throttle bandwidth in
DotNet but haven't found much. I did read in somewhere that Windows has no
built-in support for this, and I suspect doing it right would involve some
low-level knowledge of TCP/IP. Sleeping the thread doing the transfer at
intervals calibrated on average throughput versus target bandwidth may work,
but that may be too crude to be something you'd want to deploy.

Bob
 
(correct me if I'm wrong here) BITS throttling is automatic based on the
client's other network usage, meaning if you never want your app to go over
10kb/sec for any reason, you're out of luck. And I can think of a few cases
where you would want real limits: peer-to-peer file-sharing; transfers of
large quantities of data over a LAN during normal user hours.

But this could all be moot, does the app really require a bandwidth cap? If
not BITS is the way to go.

Bob
 
Bob,
I have not used BITS so I don't know, however how would BTS to a Server OS
be any different to a Client OS. (client server verses client client (aka
peer-to-peer)?

As I said I have not used BITS, so I don't know how much or what is
installed on the server, I thought it was all "client" side... I would hope
any "server" side code be installed on the "client" also, thus making it
peer-to-peer...

Just a thought
Jay
 
I need to transfer file over very slow VPN connections, which are used for
other apps and I don't want to disrupt their work.
I am sure that bandwidth throttling can be don, most of us are using
download manager, and most of these have bandwidth throttling. So it can be
done.
 
Nikolay,
I don't believe I stated that bandwidth throttling could not be done. I know
you can do it, as BITS does it!

What I stated is I'm not sure if BITS can do it for you on a peer-to-peer, I
would half expect it could!

Hope this helps
Jay
 
With BITS2.0 there is a way for admins to set the maximum bandwidth allowed
for BITS to use. Please refer to
http://msdn.microsoft.com/library/en-us/bits/bits/group_policies.asp

Currently BITS is designed for C and C++ developers using COM. However there
is a way you can use it in a .Net environment. Please refer to the article:
http://msdn.microsoft.com/library/en-us/dnwxp/html/WinXP_BITS.asp. Please
note that there are certain limitations to this approach - mainly related to
authentication against a proxy or a server.

To download files using BITS client all you need is a HTTP/1.1 compliant web
server (like IIS) on the server machine. If you want to upload files to a
server you need to install the BITS ISAPI. Please refer to
http://msdn.microsoft.com/library/en-us/bits/bits/setting_up_the_server_for_uploads.asp

Peer-to-peer transfer feature without requiring a web server is not yet
implemented in BITS.

General information on BITS:
http://msdn.microsoft.com/library/en-us/bits/bits/bits_start_page.asp
--
Narayana Mahankali
Microsoft, BITS

This posting is provided "As Is" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
 
Back
Top