• Stars
    star
    239
  • Rank 168,763 (Top 4 %)
  • Language
    Go
  • License
    MIT License
  • Created over 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A gateway for games with stream multiplexing

agent(网关)

Build Status

特性

  1. 处理各种协议的接入,同时支持TCP和UDP(KCP协议),进行双栈通信。
  2. 连接管理,会话建立,数据包加解密(DH+RC4)。
  3. 透传解密后的原始数据流到后端(通过gRPC streaming)。
  4. 复用多路用户连接,到一条通往game的物理连接。
  5. 不断开连接切换后端业务。
  6. 唯一入口,安全隔离核心服务。

协议号划分

数据包会根据协议编号(0-65535) 透传 到对应的服务, 例如(示范):

  1-1000: 登陆相关协议,网关协同auth服务处理。
  1001-10000: 游戏逻辑段
  ....

具体的划分根据业务需求进行扩展或调整。

消息封包格式

    +----------------------------------------------------------------+     
    | SIZE(2) | TIMESTAMP(4) | PROTO(2) | PAYLOAD(SIZE-6)            |     
    +----------------------------------------------------------------+     

SIZE: 后续数据包总长度
TIMESTAMP: 数据包序号
PROTO: 协议号
PAYLOAD: 负载