添加全局配置模块
- 之前的一些端口和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()
}
修改之前代码中的硬编码