Skip to content

867344633/QService

 
 

Repository files navigation

QService

QService服务器支持http、 tcp 、websocket协议; 序列化支持Protobuf、struct、json; 数据加密压缩支持aes、rsa、zlib等; 数据库支持sqlite3、mysql、mariadb、redis。
所有业务均可用Lua脚本开发,已经用于手游服务器端开发。

##一、编译QService

  • windows使用vs2010或者更高版本;
  • linux使用mklib.sh编译出依赖库,然后再mk.sh。

##二、配置文件

  • config 文件夹配置服务器启动参数、加密信息等。

##三、Lua文件

  • Main.lua
    Main.lua为主lua文件,执行一些必须的事件,如消息处理分发、连接断开等。
  • RegFuncs.lua
    RegFuncs.lua实现事件注册,回调。
  • Utile.lua
    一些常用函数
  • RegSV.lua
    服务器注册
  • Protocol.lua
    操作码、请求码
  • Macros.lua
    宏、枚举
  • ErrorCodes.lua
    错误码
  • Debug.lua
    debug
  • SessionUtile.lua
    网络操作相关
  • TimeWheel.lua
    时间轮
  • 其他Lua文件

##四、事件

  • 事件定义
    事件的枚举在Macros.lua中的GameEvent,用户可以自定义事件如玩家升级等。
  • 事件执行
    如玩家升级,在玩家等级提升后执行onGameEvent(GameEvent.LevelUp, objPlayer)
  • 事件注册
    如玩家升级,regGameEvent(GameEvent.LevelUp, taskOnLevelUp) taskOnLevelUp为玩家
    等级提升以后任务处理函数。

##五、Lua中使用的c++函数
向lua导出的函数参看Reg2Lua.cpp 中的void Register(void)函数

About

C/S service framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 64.7%
  • C++ 31.4%
  • Objective-C 2.3%
  • Lua 1.4%
  • Assembly 0.1%
  • Shell 0.1%