I tested winsock and the largest package it can send in one turn is 8192 bytes. But when i tested sending 20000 bytes it kept on sending until it had sent all 20000 bytes, so I don't know if Microsoft has baked in a function that splits the package into right sizes or if it has been there all the time... I use the latest service pack so I don't know...

I to have got up to about 230 kb/s... But I'm testing now if I can use multiple winsocks to send same file thrue multiple ports and so on...
If you want to know something you must test it if it works