Blame view

cmd/httpserver/http.go 1.3 KB
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
1
2
3
  package main
  
  import (
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
4
  	"fmt"
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
5
6
  	"os"
  	"os/signal"
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
7
8
  	"pro2d/common/components"
  	"pro2d/conf"
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
9
  	_ "pro2d/conf"
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
10
11
12
13
  	"pro2d/models"
  	"pro2d/utils/db"
  	"pro2d/utils/etcd"
  	"pro2d/utils/logger"
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
14
15
16
  	"syscall"
  )
  
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  type AccountServer struct {
  	components.IHttp
  	EtcdClient *etcd.EtcdClient
  }
  
  func NewAccountServer(version string, port ...string) *AccountServer {
  	return &AccountServer{IHttp: components.NewHttpServer(version, port...)}
  }
  
  func (s *AccountServer) Start() error  {
  	//mongo 初始化
  	db.MongoDatabase = db.MongoClient.Database(conf.GlobalConf.AccountConf.DBName)
  	models.InitAccountServerModels()
  
  	//Etcd 初始化
  	var err error
  	s.EtcdClient, err = etcd.NewEtcdClient(conf.GlobalConf.Etcd)
  	if err != nil {
  		return err
  	}
  	s.EtcdClient.PutWithLeasePrefix(conf.GlobalConf.AccountConf.Name, conf.GlobalConf.AccountConf.ID, fmt.Sprintf("%s:%d", conf.GlobalConf.AccountConf.IP, conf.GlobalConf.AccountConf.Port), 5)
  	return nil
  }
  
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
41
42
43
44
45
  func main() {
  	err := make(chan error)
  	stopChan := make(chan os.Signal)
  	signal.Notify(stopChan, syscall.SIGTERM, syscall.SIGINT, syscall.SIGKILL)
  
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
46
47
  	web := NewAccountServer("v1")
  	web.BindHandler(&AccountAction{HttpServer: web})
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
48
49
50
51
52
53
  	go func() {
  		err <- web.Start()
  	}()
  
  	select {
  	case e := <- err:
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
54
  		logger.Error("game server error: %v", e)
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
55
  	case <-stopChan:
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
56
  		logger.Debug("game stop")
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
57
  		web.Stop()
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
58
59
  	}
  }