I am programming an app that needs to work sort of like a p2p app, or aim. If someone has a router, but they have clients on the inside of their network that need to receive a file, how would you send that file to them, without a port on the router being forwarded? Also, how would you, when you send to their IP, distinguish between hosts on the internal network. Like, if the you send the file to 188.8.131.52, how would it know to go to 192.168.1.25, rather than 192.168.1.19?
How would I go about coding something like this?