服务器启动是需要加载内存的游戏列表的数据到内存,后期有新游戏直接更新内存就可以,以下的函数是服务器启动更新内存
func InitGameInfo() (mapGameInfo map[string]*Global_Define.StGameListInfo, size int64) {
mapGameInfo = make(map[string]*Global_Define.StGameListInfo)
strSql := "select * from t_GameInfo"
Rows, err := GSeverdb.Query(strSql)
if err != nil {
Log_Eio.Log("InitGameInfo err:", err.Error())
return nil, -1
}
//fmt.Println(Rows)
var iTmp int64
iTmp = 0
for Rows.Next() {
gameinfo := new(Global_Define.StGameListInfo)
Rows.Scan(&gameinfo.GameId, &gameinfo.GameName, &gameinfo.Ip, &gameinfo.Port)
// gameinfo.GameName = Global_Define.GBKConvertUTF8(gameinfo.GameName)
mapGameInfo[strconv.Itoa(int(gameinfo.GameId))] = gameinfo
}
return mapGameInfo, iTmp
}