在过去的几天里,我一直在开发一款在线游戏,一款 2 人游戏,其中一个人启动服务器(侦听某个端口),另一个人通过输入他的 IP 连接到他。这种方法有两个问题:
- 输入对方IP非常难受。
- 服务器不能位于路由器后面,因为 NAT 会阻止它工作。
第一个问题可以通过匹配服务来解决,该服务会在用户不关心的情况下处理所寻址的 IP。但我不确定如何解决第二个问题。我已经阅读了有关“TCP 打孔”的信息,但根据我所阅读的内容,当两个玩家都在路由器后面时,不可能执行此操作。如果这是真的,那么像 Halo 3 这样的配对服务游戏如何运作?
提前致谢。