Answers:
Glenn Fiedler 在这方面写了很多文章,涵盖了几乎所有的基本概念。
自己动手可能具有教育意义,但如果可以利用现有的实现方式(或至少从那里开始),通常会做得更多。
我用两个ENET和Raknet。我只在一个简单的游戏中使用过Enet,但它确实满足了我的需要。与Raknet相比,Enet使用的API级别较低。Raknet用于更大的项目。Raknet非常强大,但希望让您围绕Raknet的框架构建游戏。
如果您有时间和精力,可以下载Quake 3源码并进行研究。如果您对C感到满意,则很容易理解,也很容易修改。
其他哪些多人游戏有可用的来源并使用UDP?
如果您像我一样去自家酿制,您将学到很多东西-也是您不想知道的东西。就像NAT遍历一样。根据caspin的说法,Enet缺少这一点,但是您总是可以找到一些在大多数情况下都可以使用的开源STUN代码。