Blame view

cmd/httpserver/service/http.go 1.49 KB
4a502dd5   zhangqijia   fix: game,account...
1
  package service
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
2
3
  
  import (
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
4
  	"fmt"
a24dea4c   zhangqijia   fix: id自增做了写更新。阵容...
5
  	"math/rand"
765431a4   zhangqijia   增加schema接口, 抽象 mo...
6
  	"pro2d/common"
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
7
  	"pro2d/common/components"
436e0af4   zhangqijia   reactor: dir; Ac...
8
  	"pro2d/common/db/mongoproxy"
15864203   zhangqijia   feat: 增加短信接口
9
  	"pro2d/common/db/redisproxy"
765431a4   zhangqijia   增加schema接口, 抽象 mo...
10
  	"pro2d/common/etcd"
8d983031   zhangqijia   loginReq uid -> t...
11
  	"pro2d/models"
101d1cc1   zhangqijia   feat: 一个基于redis的自...
12
  	"time"
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
13
14
  )
  
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
15
16
  type AccountServer struct {
  	components.IHttp
f415f471   zhangqijia   fix: roleID自增加上限制...
17
  	Sconf *common.SConf
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
18
19
20
21
22
23
  }
  
  func NewAccountServer(version string, port ...string) *AccountServer {
  	return &AccountServer{IHttp: components.NewHttpServer(version, port...)}
  }
  
15864203   zhangqijia   feat: 增加短信接口
24
  func (s *AccountServer) Init(sconf *common.SConf) error {
101d1cc1   zhangqijia   feat: 一个基于redis的自...
25
26
  	s.Sconf = sconf
  
765431a4   zhangqijia   增加schema接口, 抽象 mo...
27
  	//mgo init
a24dea4c   zhangqijia   fix: id自增做了写更新。阵容...
28
  	err := mongoproxy.ConnectMongo(sconf.MongoConf, sconf.ID)
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
  
  	//Etcd 初始化
f415f471   zhangqijia   fix: roleID自增加上限制...
36
  	err = etcd.NewEtcdClient(common.GlobalConf.Etcd)
765431a4   zhangqijia   增加schema接口, 抽象 mo...
37
38
39
  	if err != nil {
  		return err
  	}
f415f471   zhangqijia   fix: roleID自增加上限制...
40
41
  	etcd.PutWithLeasePrefix(sconf.Name, fmt.Sprintf("%d", sconf.ID), fmt.Sprintf("%s:%d", sconf.IP, sconf.Port), 5)
  
101d1cc1   zhangqijia   feat: 一个基于redis的自...
42
43
  	models.NewDBSeed(sconf.ID).InitServerDatabase(models.AccountModels())
  	models.DBSeedS().InitAutoIncreUidTable(models.AccountModels())
77f5eec7   zhangqijia   plugin 插件热更 接口
44
45
46
  	return nil
  }
  
101d1cc1   zhangqijia   feat: 一个基于redis的自...
47
48
49
50
51
52
  func (s *AccountServer) TimeOut() {
  	models.DBSeedS().SaveAutoincrementTimer(models.AccountModels())
  
  	components.TimeOut(1*time.Second, s.TimeOut)
  }
  
b3d79719   zhangqijia   fix: 返回值如果code=0则...
53
  func (s *AccountServer) Start() error {
15864203   zhangqijia   feat: 增加短信接口
54
  	if err := s.Init(common.GlobalConf.AccountConf); err != nil {
77f5eec7   zhangqijia   plugin 插件热更 接口
55
56
  		return err
  	}
a24dea4c   zhangqijia   fix: id自增做了写更新。阵容...
57
58
  	//设置随机种子
  	rand.Seed(time.Now().Unix())
101d1cc1   zhangqijia   feat: 一个基于redis的自...
59
60
61
  	//开始定时器
  	s.TimeOut()
  
9a9d092e   zhangqijia   每条连接增加一个定时器,每条连接增...
62
  	return s.IHttp.Start()
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
63
64
  }
  
f415f471   zhangqijia   fix: roleID自增加上限制...
65
66
67
68
  func (s *AccountServer) Stop() {
  	s.IHttp.Stop()
  	etcd.CloseEtcd()
  }