Unity3d多人手机游戏所需的通信堆栈

Unity3d多人手机游戏所需的通信堆栈,unity3d,scale,multiplayer,Unity3d,Scale,Multiplayer,我目前正在Unity3d中开发一款多玩家游戏,要求如下: 在Unity3d中开发(为Android、iOS和WebGL构建) 必须连接端口80以支持大多数防火墙(学校、办公室等) 游戏分为多个房间(同一房间最多5名玩家) 发送的消息量非常低(大约每5秒1-2条) 全双工通信(客户端->服务器,服务器->客户端) 服务器端需要能够水平扩展并支持大量CCU(显然不是用Unity编写的) 在移动网络上运行良好,假设某些玩家的连接不良 为了简单起见,《部族冲突》的沟通方式几乎相同 我目前正在考虑什么

我目前正在Unity3d中开发一款多玩家游戏,要求如下:

  • 在Unity3d中开发(为Android、iOS和WebGL构建)
  • 必须连接端口80以支持大多数防火墙(学校、办公室等)
  • 游戏分为多个房间(同一房间最多5名玩家)
  • 发送的消息量非常低(大约每5秒1-2条)
  • 全双工通信(客户端->服务器,服务器->客户端)
  • 服务器端需要能够水平扩展并支持大量CCU(显然不是用Unity编写的)
  • 在移动网络上运行良好,假设某些玩家的连接不良
为了简单起见,《部族冲突》的沟通方式几乎相同


我目前正在考虑什么样的通信技术堆栈最适合支持所有产品规格。

目前我正在考虑:

  • 玩家将使用端口80上的WebSocket进行连接
  • 在启用会话粘性的无状态机器上托管我们的游戏服务器
  • 有一个集中的缓存层(服务器首先尝试从这里加载数据)
  • 有一个持久的DB层(如果缓存未命中,则从DB加载)
  • 服务器中房间状态的任何更改都将触发发布/订阅事件,以更新其他服务器上的任何现有播放器连接

  • 我很高兴听到是否有人有更好的想法可以更好地满足我的要求。

    不确定是否要自己编写通信堆栈。如果你想看看第三方解决方案,你检查过吗?

    我从来没有说过要自己写,只是想知道最好的解决方案是什么(现有的还是不存在的)。我会检查SmartFoxServer。