Skip to content
forked from gonet2/agent

A gateway for games with stream multiplexing

License

Notifications You must be signed in to change notification settings

forging2012/agent

 
 

Repository files navigation

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: 负载

About

A gateway for games with stream multiplexing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.6%
  • Shell 0.4%