Wcf net.p2p: // - does it work over the Internet?

Does net.p2p allow you to connect over the Internet (via NAT, firewall, etc.).

I understand that PNRP addresses this (this is great if you are using ipV6), but can this also be done using a custom recognizer? that is: when a peer register is registered in the cloud, it simply returns net.p2p: // mypcName / endPoint or does resolver / PNRP return what allows the computer to be considered behind a firewall?

I find it very difficult to find good information on the .NET P2P solution - and most of it is very old. Does anyone know if this is a viable technology or something that could soon disappear from .NET?

-edit- My Resolver will be publicly available, and supporters are behind NAT / Firewall.

in advance :-)

+4
source share
3 answers

All of this is documented on MSDN.

Use the Microsoft Peer Name Resolution protocol, which used Teredo tunneling to solve the IP6 / IP4 access problem. Or write your own CustomPeerResolverService (which is very easy to do)

+6
source

It would be wise to be careful here, as if you wanted to host the p2p server behind the firewall. Especially where the NAT process takes place, you need to forward the ports from the external IP address in accordance with the Internet service provider you provided and redirect it to your internal IP address of your network where your server is located.

In .NET Remoting, the big limitation is that it cannot go through the firewall, especially when using NAT. Remoting is great if it is internal and behind the firewall, and that the packets never reach the Internet.

You may need to pierce a hole in the firewall to allow incoming / outgoing packets and redirect it to your IP address on the internal network. This can lead to the fact that you most likely were attacked by malicious hackers who could grope packets flying back and forth via the Internet or even attempt to get into your network.

Hope this helps, Regards, Tom.

+1
source

Skype uses UPnP to transfer forward to itself when sending files or making a call. If it is not available, it uses client server mode. Try to find out about Nat Traversal and UPnP (I need it too).

+1
source

All Articles