I am not sure this is the best forum for this question, but I figured I would give it a try. I have a custom system/application that involves communication between two machines across the internet via a socket. Normally, I have complete control over the networks at both endpoints. I can set up the networks at either end to forward the correct ports to the correct machines so that this socket connection works. Now suppose I want to travel and I am in a hotel offering internet access. What I would like to do is set up a socket between my laptop at the hotel and one of the endpoint machines talked about in the previous paragraph. However, I have no control over the network at the hotel. I can send packets from the hotel to the other machine, but all packets sent from the external machine back into the hotel get blocked. I know that the hotel must leave some ports open for two-way communication, such as port 80 for web browsing. It seems like there has to be a way to con the hotel network into allowing these incoming packets to get back to my laptop. I have tried doing searches on this topic but I can't quite find what I am looking for on Google or I don't know the keywords I should be searching for. If anyone has any suggestions or experience with this type of situation I would be grateful if you could provide advice or even a link somewhere to get me started.