4 ms·
I wonder why this comes up here. This is a quite old method. I think it is used in many peer-to-peer applications. I'm quite sure that Skype has used it also in
by albertzeyer 9y ago
I wonder why this comes up here. This is a quite old method. I think it is used in many peer-to-peer applications. I'm quite sure that Skype has used it also in the past.
We have also implemented that in our game OpenLieroX. We call it UDP NAT traversal if you search for it in the code.
Main code:
https://github.com/albertz/openlierox/ https://github.com/albertz/openlierox/
UDP master server:
https://github.com/albertz/openlierox/tree/0.59/tools/UDPMasterServer https://github.com/albertz/openlierox/tree/0.59/tools/UDPMas...
- alanfranzoni 9y agoBecause, while old, it's still used and useful. And a lot of (relatively) young people don't know about it.
- feelin_googley 9y agoAnd consequently they don't think end-to-end communication is feasible without "WebRTC"?
- api 9y agoSigh. WebRTC just uses hole punching, and its implementation (ICE+STUN+TURN) is as over-engineered as you would expect from a modern protocol stack.
- feelin_googley 9y agoSuccessful peer-to-peer networking goes back many years. I would guess gamers solved it first, but I am not sure. Could be a fun project to try to document all the history, if that is even possible. 1999: http://alumnus.caltech.edu/~dank/peer-nat.html http://alumnus.caltech.edu/~dank/peer-nat.html I have seen reliable, fast overlay networks accomplished with a relatively small amount of code. As a result, this is where I set the bar. The more voluminous the project, the more quickly I lose interest.
- mysterydip 9y agoI, for one, am glad it came up. I've been fretting about how to do such a thing for a multiplayer game I'm working on, but couldn't remember the name of the technique to look up. Thanks to the post and the comments here, I have plenty to use for a solution.