tcp connection without connecting to a server
Is it possible to set up a connection between two computers without one acting as the host and accepting a socket connection from the client? I'm trying to get around having to forward ports so that it can be run on public wifi connections where port forwarding is not an option.
At first I thought this was impossible but then I started thinking about torrents. It seems that torrents are able to transfer data between peers without doing any kind of port forwarding. I assume this happens without everything going through some kind of central server.
Is this possible? Maybe would I need to setup a server to get the 2 clients together and then they could transfer data between one another without going through the server?
Any hints or advice is greatly appreciated. Thanks