I have implemented a file transfer program on Windows 64-bit platform using winsock API. I am using a 1Gbps connection.
- When I transfer files using TCP protocol, I am getting only 320 Mbps. when I monitor the Task Manager, it shows about 35% network utilization. Shouldn't I be getting a better transfer rate than this?
- When I transfer files using UDP, the network connection seems to be lost. I tried using the ping command to check and I found out that I am only able to ping to the loopback address and not to anything else. I have no idea of why this happens. I know UDP is not TCP friendly and has no congestion control or flow control, but I don't think that can affect all other connections so drastically.
I browsed a lot for tuning options, but nothing seems to work for me. Could anyone find the problem that's preventing me from achieving maximum throughput, and why I lose the connection the moment I run the UDP sender program?