小六聊聊-对战平台的实现原理

2,959 阅读1分钟

对战平台的实现原理

如何将局域网转变为广域网

背景

  1. war3 游戏为背景 创建完毕局域网中的游戏即将开始
  2. 一共有 PC1 , PC2 ,PC3 ,PC4 ,PC5 5名玩家
  3. 在同一个网段内的通信方式 假如可能 是 单播 组播 广播 三种方式可以收到信息
  4. 同步信息后大家在局域网内开心的玩游戏

需求

有一天 各位小伙伴都在各自家里 玩单机游戏 玩着没意思,如果能够把他们链接在一起玩 可是美好的

现状

改造方案

改造方案说明

  1. 用户游戏war3 是一个进程 plat_form_client 也是一个进程 平台客户端ip地址以0.0.0.0 网络地址启动 将接收到局域网中的所有帧

  2. plat_form_client 作为客户端 通过互联网 连接到公网上的服务器(Server)

  3. plat_form_client 接收到局域网内传播的帧时 它将信息通过 TCP/UDP传给Server

  4. Server 将这部分信息传回目前联机的 plat_form_client

  5. plat_form_client 进程向广播地址发送这部分信息 达到同步其他玩家信息的目的

  6. 至此 对战平台构建完成

代码实现

迷你对战平台连接地址


过往文章

  1. 小六聊聊-聊天工具的实现原理
  2. 小六聊聊-对战平台的实现原理
  3. 小六聊聊nginx的实现原理