0

If I have a client application running on multiple internet connections (behind routers and such) who connect to a server. Lets say there are 5, and 3 of them are told about the existence of each other by the server, could those 3 connect to each other so that when one of them sends a message, the other two receive it, and all this would be done without the first server or the other two clients sending or receiving any information, just the 3 clients connected to each other? How could they get past the routers and firewalls? Hope that makes sense.

Edit

In a sense, create a small private network between the 3 clients that talk directly to each other, not via the server (unless absolutely necessary). perhaps via another client with sufficient bandwidth and if its open to connections

topherg
  • 4,203
  • 4
  • 37
  • 72

2 Answers2

1

I have no clue what you wrote :), but that could probably help:

http://msdn.microsoft.com/en-us/magazine/cc700336.aspx

http://www.codeproject.com/KB/WCF/WPFWCF_Chat_App_via_P2P.aspx

Hubi
  • 1,629
  • 15
  • 20
  • yeah, i had a peak at that one before, but does that do sufficient tunneling to create a connection between routers, or does netPeerTcpBinding still connect to an external server. Plus, how does it do name resolution for the specified binding address (i.e. "net.p2p://WPFChatMesh/rolandrodriguez.net/wpfchat" pointing to a specific set of clients. is there a public microsoft server somewhere that deals with all that)? – topherg Dec 16 '11 at 17:25
0

Answer is: not always. There are cases where it is not possible for two peers located behind different NATs to communicate directly. They must go through a central peer with a public IP address.

Jérôme Verstrynge
  • 57,710
  • 92
  • 283
  • 453