Blame view

cmd/httpserver/http.go 1.55 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"
765431a4   zhangqijia   增加schema接口, 抽象 mo...
7
  	"pro2d/common"
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
8
  	"pro2d/common/components"
436e0af4   zhangqijia   reactor: dir; Ac...
9
  	"pro2d/common/db/mongoproxy"
15864203   zhangqijia   feat: 增加短信接口
10
  	"pro2d/common/db/redisproxy"
765431a4   zhangqijia   增加schema接口, 抽象 mo...
11
12
  	"pro2d/common/etcd"
  	"pro2d/common/logger"
8d983031   zhangqijia   loginReq uid -> t...
13
  	"pro2d/models"
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
14
15
16
  	"syscall"
  )
  
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
17
18
19
20
21
22
23
24
25
  type AccountServer struct {
  	components.IHttp
  	EtcdClient *etcd.EtcdClient
  }
  
  func NewAccountServer(version string, port ...string) *AccountServer {
  	return &AccountServer{IHttp: components.NewHttpServer(version, port...)}
  }
  
15864203   zhangqijia   feat: 增加短信接口
26
  func (s *AccountServer) Init(sconf *common.SConf) error {
765431a4   zhangqijia   增加schema接口, 抽象 mo...
27
  	//mgo init
15864203   zhangqijia   feat: 增加短信接口
28
  	err := mongoproxy.ConnectMongo(sconf.MongoConf)
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
29
  
15864203   zhangqijia   feat: 增加短信接口
30
31
  	//redis init
  	if err = redisproxy.ConnectRedis(sconf.RedisConf.DB, sconf.RedisConf.Auth, sconf.RedisConf.Address); err != nil {
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
32
33
  		return err
  	}
765431a4   zhangqijia   增加schema接口, 抽象 mo...
34
35
36
37
38
39
  
  	//Etcd 初始化
  	s.EtcdClient, err = etcd.NewEtcdClient(common.GlobalConf.Etcd)
  	if err != nil {
  		return err
  	}
15864203   zhangqijia   feat: 增加短信接口
40
41
42
  	models.InitAccountModels()
  
  	s.EtcdClient.PutWithLeasePrefix(sconf.Name, sconf.ID, fmt.Sprintf("%s:%d", sconf.IP, sconf.Port), 5)
77f5eec7   zhangqijia   plugin 插件热更 接口
43
44
45
  	return nil
  }
  
b3d79719   zhangqijia   fix: 返回值如果code=0则...
46
  func (s *AccountServer) Start() error {
15864203   zhangqijia   feat: 增加短信接口
47
  	if err := s.Init(common.GlobalConf.AccountConf); err != nil {
77f5eec7   zhangqijia   plugin 插件热更 接口
48
49
  		return err
  	}
9a9d092e   zhangqijia   每条连接增加一个定时器,每条连接增...
50
51
  
  	return s.IHttp.Start()
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
52
53
  }
  
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
54
55
56
57
58
  func main() {
  	err := make(chan error)
  	stopChan := make(chan os.Signal)
  	signal.Notify(stopChan, syscall.SIGTERM, syscall.SIGINT, syscall.SIGKILL)
  
765431a4   zhangqijia   增加schema接口, 抽象 mo...
59
  	web := NewAccountServer("v1", fmt.Sprintf(":%d", common.GlobalConf.AccountConf.Port))
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
60
  	web.BindHandler(&AccountAction{HttpServer: web})
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
61
62
63
64
65
  	go func() {
  		err <- web.Start()
  	}()
  
  	select {
b3d79719   zhangqijia   fix: 返回值如果code=0则...
66
67
  	case e := <-err:
  		logger.Error("http server error: %v", e)
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
68
  	case <-stopChan:
b3d79719   zhangqijia   fix: 返回值如果code=0则...
69
  		logger.Debug("http stop")
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
70
  		web.Stop()
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
71
  	}
b3d79719   zhangqijia   fix: 返回值如果code=0则...
72
  }