Hi. I have been trying to figure this out but I just can't get it. In many
places I have read that I cannot communicate between two programs that are
both behind firewalls using nat. So the solution is to use a middle server.
However, I cannot find details and code of how to do this. A few specific
questions about this:
1. What information does the middle server collect exactly and how does it
collect it? If I am - say sending a file from one client to another - do I
have to send the entire file through the middle server first and then have
the middle server send it to the client? If so, how could the middle server
connect to the second client to send the file - would the second client have
to connect at an earlier point and then keep the connection open until the
middle server is ready to send files?
2. Should you have each client ask the middle server for the ip address of
the other clients? (thus letting me use those ip addresses to then have the
2 clients establish a direct connection. Is this possible? If so, how does
the client send the "correct" address to the middle serverso I can tell the
second client to establish a connection. I should mention that I am hoping
to do this using C#, .NET Framework 1.1 and if possible the TcpClient and
TcpListener classes. I am familier with sockets and would rather use sockets
classes. I am not familiar with .net remoting. However if this can be done
with remoting, I would be glad to use that.
Thanks very much for any help!
Ritz