使用GoLang开发游戏服务器(四)
使用GoLang开发游戏服务器(四)
添加全局配置模块
-
之前的一些端口和IP以及服务器名称等,都是写死在代码中的,我们需要增加全局配置来修改
新增utils包,里面定义globalobj.go文件,用于全局配置
-
对外提供全局var GlobalObject *GlobalObj 在加载包文件时init的时候进行初始化 配置文件为json的方式,进行读取
type GlobalObj struct { TcpServer ziface.IServer Host string TcpPort int Name string Version string MaxConn int MaxPackageSize int } var GlobalObject *GlobalObj func (g *GlobalObj) loadJsonConfig() { data, err := ioutil.ReadFile("D:/GoLangCore/src/zinx/Dome/zinxV0.4/config/zinx.json") if err != nil { fmt.Println("读取zinx.json文件失败:", err) panic(err) } err = json.Unmarshal(data, g) if err != nil { fmt.Println("json转换失败!", err) panic(err) } fmt.Println("zinx 配置文件加载成功!") } func init() { GlobalObject = &GlobalObj{ Host: "127.0.0.1", TcpPort: 8080, Name: "ZinxServerApp", Version: "V0.4", MaxConn: 1000, MaxPackageSize: 4096, } GlobalObject.loadJsonConfig() }