-
File Transfer speed
Hey all.
I made a simple file transfer program in VB.NET that sends a file chunk by chunk over the network through sockets. It works fine, but it doesn't achieve speeds higher than 881 kB/sec, which is quite low over a LAN. Well, I think the hard drive should be able to write faster than that, and I write it in the usual way, using a FileStream to write. Well, other file transfer programs can send things a lot faster, and I was thinking of something like a buffer or something. But I figured the buffer would be filled a lot faster than the file writing, thus causing a lot of memory usage. I was wondering how I could achieve higher speeds?
-
Re: File Transfer speed
Does you probam manually split the file up into chunks? Are you using UDP?
-
Re: File Transfer speed
Yes, I manually split it up in chunks. And I'm using TCP.
-
Re: File Transfer speed
How big is each chunk? - Are you running a 10mb LAN or 100mb? For Ethernet, the maximum frame size is usually 1500kb. If you have anything over this, then the data needs to be split up at lower levels too.
-
Re: File Transfer speed
I send chunks of 64 kb, but I think, as I'm using a TCP Stream, that it is divided into smaller chunks of 8 kb (I watched it in the Autos in VS.NET while debugging another problem). Anyway, I'm sending over a 100mbit LAN.
-
Re: File Transfer speed
I have a feeling that splitting the file into larger chunks - approx 1Mb in size, you will see an improvement. Let me know if it works? :)
-
Re: File Transfer speed
I will, and I will also try it out between two better computers. (Just gonna do some touches on the GUI to include speed, as I started on a completely new GUI.)