You will run into trouble with firewalls/routers, not much to do about it. BitTorrent has shown that TCP is just fine for peer-to-peer stuff, you don't need UDP (many people end up basically implementing TCP ontop of UDP, so don't bother unless you know you need UDP).