Sockets can be the best route if you just need to do this over the network. If you use TCP, you get reliable communications, but have an effect on speed. If you need better performance, you can try using UDP instead. But the disadvantage of UDP is that delivery and ordering packages are not guaranteed, so you will need to write everything you need for plumbing.
If you need to transfer files through a website (programmatically, and if you cannot use FTP), then the web service approach through MTOM may suit your needs.
If you are building on top of Windows Server 2003 R2, Windows Vista, or Windows Server 2008 and doing internal network transfers, another option is to use the new Remote Differential Compression . This not only does a good job of compressing the file to minimize network traffic, but it is also directly used by DFS replication. Downside (as a .NET developer) is COM + technology.
Jason olson
source share