my application requires the host computer to transfer data to the client computer at a rate of 20mbyte/s. datasocket proved to be too slow. and tcp/ip does close to what i want, but it puts a big load on the host computer's cpu, which i prefer not to happen, since there is other task the host computer needs to perform.
i'm currently trying to use UDP. seems like the maximum datagram size i can send at a time is 65535 bytes. so for 20mbyte of data i have to send 400 chunks. but somehow i have to put a wait (~5-10ms) between two sending. if not, i always get an error 55: network in progress. in addition, due to UDP's lossy nature, i have to add some kind of handshake scheme to confirm data integrity. what would b
e a good stragedy to get all this to work?
another thing i'm considering is to have a direct network card to network card connection between the two computers. has anyone tried this? will that be a better solution? also once the two computers are directly connected, what protocol should i use to transfer data between them?
the two computers are connected to a giabit LAN and both computers have a gigbit ethernet card installed.