Ok i just thought id clear a few things up here. The only difference between UDP and TCP is that TCP guarantees that each packet will arrive at its destination. Also TCP is a connection based protocol, UDP is ‘connectionless’. UDP doesnt broadcast, it has Multicast ability but a standard UDP packet does not boradcast. Security - TCP has built in security for its sessions, we coded our own. Besides the security, the packets are likley to be coming from multiple sources, i would like to see someone try to sniff your transfer when its coming from 100+ people. Basically TCP is easier to program for file transfers, UDP is better but harder to manage. Files will not be corrupted because of UDP dropping packets etc… DS handles all that, if a packet is missing it simply requests it again (from anyone who has it).