func main() { flag.Parse() config.SetConfig("config", *flag.String("config", "config.xml", "config xml file for start")) config.SetConfig("logfilename", *flag.String("logfilename", "/log/logfilename.log", "log file name")) config.SetConfig("deamon", *flag.String("deamon", "false", "need run as demo")) config.SetConfig("port", *flag.String("port", "8000", "http port ")) config.SetConfig("log", *flag.String("log", "debug", "logger level ")) config.LoadFromFile(config.GetConfigStr("config"), "global") if err := config.LoadFromFile(config.GetConfigStr("config"), "MobileLogServer"); err != nil { fmt.Println(err) return } monitorMap = make(map[*websocket.Conn]*websocket.Conn) logger, err := logging.NewTimeRotationHandler(config.GetConfigStr("logfilename"), "060102-15") if err != nil { fmt.Println(err) return } logger.SetLevel(logging.DEBUG) logging.AddHandler("MLOG", logger) logging.Info("server startin...") http.Handle("/ws", websocket.Handler(MonitorServer)) http.Handle("/", http.FileServer(http.Dir("."))) http.HandleFunc("/log/fxsj", LogServer) http.HandleFunc("/log/hxsg", LogServer) http.HandleFunc("/testlua", testLua) http.HandleFunc("/log/sbjs", LogServer) err = http.ListenAndServe(config.GetConfigStr("ip")+":"+config.GetConfigStr("port"), nil) if err != nil { fmt.Println(err) logging.Error("ListenAndServe:%s", err.Error()) } logging.Info("server stop...") }
func main() { fmt.Println("server starting...") flag.Parse() config.SetConfig("config", *flag.String("config", "config.xml", "config xml file for start")) config.SetConfig("logfilename", *flag.String("logfilename", "/log/logfilename.log", "log file name")) config.SetConfig("deamon", *flag.String("deamon", "false", "need run as demo")) config.SetConfig("port", *flag.String("port", "8000", "http port ")) config.SetConfig("log", *flag.String("log", "debug", "logger level ")) config.SetConfig("loginServerList", *flag.String("loginServerList", "loginServerList.xml", "server list config")) config.LoadFromFile(config.GetConfigStr("config"), "global") if err := config.LoadFromFile(config.GetConfigStr("config"), "ApkServer"); err != nil { fmt.Println(err) return } var err error converter, err = iconv.NewCoder(iconv.GBK18030_UTF8_IDX) if err != nil { fmt.Println("iconv err:", err) return } socketMap = make(map[*websocket.Conn]string) gamesMap = make(map[string]int) gtdMap = make(map[string]GameTempateData) http.Handle("/js/", http.StripPrefix("/js/", http.FileServer(http.Dir("./js/")))) //http.Handle("/", http.FileServer(http.Dir("."))) InitGames() //err := http.ListenAndServe("180.168.197.87:18080", nil) err = http.ListenAndServe(config.GetConfigStr("ip")+":"+config.GetConfigStr("port"), nil) if err != nil { log.Fatal("ListenAndServe: ", err) } fmt.Println("server stop...") }
func main() { flag.Parse() config.SetConfig("config", *flag.String("config", "config.xml", "config xml file for start")) config.SetConfig("logfilename", *flag.String("logfilename", "/log/logfilename.log", "log file name")) config.SetConfig("deamon", *flag.String("deamon", "false", "need run as demo")) config.SetConfig("port", *flag.String("port", "8000", "http port ")) config.SetConfig("log", *flag.String("log", "debug", "logger level ")) config.LoadFromFile(config.GetConfigStr("config"), "global") if err := config.LoadFromFile(config.GetConfigStr("config"), "SdoOnlineServer"); err != nil { fmt.Println(err) return } logger, err := logging.NewTimeRotationHandler(config.GetConfigStr("logfilename"), "060102-15") if err != nil { fmt.Println(err) return } logger.SetLevel(logging.DEBUG) logging.AddHandler("SDO", logger) mysqlurl := config.GetConfigStr("mysql") if ok, err := regexp.MatchString("^mysql://.*:.*@.*/.*$", mysqlurl); ok == false || err != nil { logging.Error("mysql config syntax err:%s", mysqlurl) return } logging.Info("server starting...") mysqlurl = strings.Replace(mysqlurl, "mysql://", "", 1) mysqlurl = strings.Replace(mysqlurl, "@", ":", 1) mysqlurl = strings.Replace(mysqlurl, "/", ":", 1) mysqlurls := strings.Split(mysqlurl, ":") config.SetConfig("dbname", mysqlurls[4]) db_login = mysql.New("tcp", "", mysqlurls[2]+":"+mysqlurls[3], mysqlurls[0], mysqlurls[1], mysqlurls[4]) if err != nil { logging.Error("db connect error:%s", err.Error()) return } mysqlurl = config.GetConfigStr("mysql_monitor") if ok, err := regexp.MatchString("^mysql://.*:.*@.*/.*$", mysqlurl); ok == false || err != nil { logging.Error("mysql config syntax err:%s", mysqlurl) return } mysqlurl = strings.Replace(mysqlurl, "mysql://", "", 1) mysqlurl = strings.Replace(mysqlurl, "@", ":", 1) mysqlurl = strings.Replace(mysqlurl, "/", ":", 1) mysqlurls = strings.Split(mysqlurl, ":") config.SetConfig("dbname", mysqlurls[4]) db_monitor = mysql.New("tcp", "", mysqlurls[2]+":"+mysqlurls[3], mysqlurls[0], mysqlurls[1], mysqlurls[4]) if err != nil { logging.Error("db connect error:%s", err.Error()) return } mysqlurl = config.GetConfigStr("mysql_account") if ok, err := regexp.MatchString("^mysql://.*:.*@.*/.*$", mysqlurl); ok == false || err != nil { logging.Error("mysql config syntax err:%s", mysqlurl) return } mysqlurl = strings.Replace(mysqlurl, "mysql://", "", 1) mysqlurl = strings.Replace(mysqlurl, "@", ":", 1) mysqlurl = strings.Replace(mysqlurl, "/", ":", 1) mysqlurls = strings.Split(mysqlurl, ":") config.SetConfig("dbname", mysqlurls[4]) db_account = mysql.New("tcp", "", mysqlurls[2]+":"+mysqlurls[3], mysqlurls[0], mysqlurls[1], mysqlurls[4]) if err != nil { logging.Error("db connect error:%s", err.Error()) return } http.HandleFunc("/online", OnlineServer) http.HandleFunc("/online/country", OnlineCountryServer) http.HandleFunc("/gjia/maxlevel", HandleMaxlevel) http.HandleFunc("/gjia/isprecreate", HandleIsPrecreate) http.HandleFunc("/gjia/isonline", HandleIsOnline) http.HandleFunc("/card/gonghuiuser", HandleGonghuiUserCard) http.HandleFunc("/card/gonghuikey", HandleGonghuiKeyCard) err = http.ListenAndServe(":"+config.GetConfigStr("port"), nil) if err != nil { logging.Error("ListenAndServe:%s", err.Error()) } logging.Info("server stop...") }