nat-traversal

Practical NAT traversal for reliable network connections

谁说胖子不能爱 提交于 2019-12-20 09:03:54
问题 I've seen and read a lot of similar questions, and the corresponding Wikipedia articles (NAT traversal, STUN, TURN, TCP hole punching), but the overwhelming amount of information doesn't really help me with my very simple problem: I'm writing a P2P application, and I want two users of my application behind NAT to be able to connect to each other. The connection must be reliable (comparable to TCP's reliability) so I can't just switch to UDP. The solution should work on today's common systems

How does peer2peer work through a router?

你说的曾经没有我的故事 提交于 2019-12-18 12:37:47
问题 How does one PC connect to another over the internet to another PC? An example would be a program listening for connections on PC 1. PC 1 sits behind Router 1. PC 2 has a client program trying to connect to PC 1. What is the correct technology/technique to use as the listening program in this situation? 回答1: This article by Brian Ford explains how peer to peer communication across NATs work. Most routers also expose a Universal Plug and Play interface (uPnP) which can be used for port

NAT traversal using free STUN and TURN servers in C#

馋奶兔 提交于 2019-12-12 09:16:48
问题 This is my previous post: NAT Traversal using only free STUN and TURN servers in C# I am making an online application that communicates with each other peer-to-peer. Most users are expected to be in their private network behind a NAT, and I need to traverse it. I can't afford an external server, so the only things that I can depend on is free servers like Numb (which means I cannot provide my own implementation or extension of it.) However, after some research, I couldn't figure out how to

NAT Traversal using only free STUN and TURN servers in C#

前提是你 提交于 2019-12-07 20:54:23
问题 I am trying to make an online game application, which communicates with another pc peer-to-peer over the Internet. Since both pc's are likely to be under NAT, and since I cannot afford an external server, I thought the only way is to use free STUN and TURN server, such as Numb. However, after some research, I couldn't figure out how to use those servers to make a connection. Is it really possible to use only those servers to do it? If it is, how would you do that? Or is there an easier way of

NAT Traversal using only free STUN and TURN servers in C#

自古美人都是妖i 提交于 2019-12-06 05:03:51
I am trying to make an online game application, which communicates with another pc peer-to-peer over the Internet. Since both pc's are likely to be under NAT, and since I cannot afford an external server, I thought the only way is to use free STUN and TURN server, such as Numb . However, after some research, I couldn't figure out how to use those servers to make a connection. Is it really possible to use only those servers to do it? If it is, how would you do that? Or is there an easier way of doing that? I can use either UDP or TCP for this. Take a look at the Internet Gateway Device Protocol

UDP, NAT and setting up “connections”

喜欢而已 提交于 2019-12-04 10:28:00
问题 I know the word "connection" isn't really appropriate when talking about UDP, but... How does a server (the one with the known IP) get its UDP packets through the Internet to a client that is behind NAT? For example: say a client connects and authenticates to the server using some messaging over TCP. At this point the server is ready to start streaming data to the client over UDP, but how does the server know where to address the UDP packets so that they would find their way through any NAT

I want to build a decentralized, reddit-like system using P2P. What existing p2p library should I base it on?

吃可爱长大的小学妹 提交于 2019-12-04 07:55:32
问题 I want to build a decentralized, reddit-like system using P2P. Basically, I want to retain the basic capabilities of reddit, but make it decentralized, to make it more robust and immune to censorship. This will also allow people to develop different clients to match the way they want to browse it. Could you recommend good p2p libraries to base my work on? They should be open-source, cross-platform, robust and easy to use. I don't care much about the language, I can adapt. 回答1: Disclaimer:

Practical NAT traversal for reliable network connections

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-02 18:47:32
I've seen and read a lot of similar questions, and the corresponding Wikipedia articles ( NAT traversal , STUN , TURN , TCP hole punching ), but the overwhelming amount of information doesn't really help me with my very simple problem: I'm writing a P2P application, and I want two users of my application behind NAT to be able to connect to each other. The connection must be reliable (comparable to TCP's reliability) so I can't just switch to UDP. The solution should work on today's common systems without reconfiguration. If it helps, the solution may involve a connectible 3rd-party, as long as

How does peer2peer work through a router?

老子叫甜甜 提交于 2019-11-30 07:32:58
How does one PC connect to another over the internet to another PC? An example would be a program listening for connections on PC 1. PC 1 sits behind Router 1. PC 2 has a client program trying to connect to PC 1. What is the correct technology/technique to use as the listening program in this situation? This article by Brian Ford explains how peer to peer communication across NATs work. Most routers also expose a Universal Plug and Play interface (uPnP) which can be used for port forwarding and NAT traversal. You should also check out the STUNT library which is an easy to use NAT traversal

Behind NAT to behind NAT connection

巧了我就是萌 提交于 2019-11-28 10:09:59
I've come across an interesting problem. Basically I have 2 mobile phones that are both behind NATs. I want to communicate directly between the 2 devices using UDP. I know if I initiate a connection from the phones to a server then I can push data back down that connection to the phone (ie send it back from the same port that received the message to the same ip and port that it was received from). So I can easily communicate between the 2 devices by connecting both phones to the server. Then sending data to the server and having it re-routed back to the phones. This bypasses any NAT traversal