9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
1
2
3
|
package main
import (
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
4
|
"fmt"
|
a24dea4c
zhangqijia
fix: id自增做了写更新。阵容...
|
5
|
"math/rand"
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
6
7
|
"os"
"os/signal"
|
765431a4
zhangqijia
增加schema接口, 抽象 mo...
|
8
|
"pro2d/common"
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
9
|
"pro2d/common/components"
|
436e0af4
zhangqijia
reactor: dir; Ac...
|
10
|
"pro2d/common/db/mongoproxy"
|
15864203
zhangqijia
feat: 增加短信接口
|
11
|
"pro2d/common/db/redisproxy"
|
765431a4
zhangqijia
增加schema接口, 抽象 mo...
|
12
13
|
"pro2d/common/etcd"
"pro2d/common/logger"
|
8d983031
zhangqijia
loginReq uid -> t...
|
14
|
"pro2d/models"
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
15
|
"syscall"
|
101d1cc1
zhangqijia
feat: 一个基于redis的自...
|
16
|
"time"
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
17
18
|
)
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
19
20
|
type AccountServer struct {
components.IHttp
|
f415f471
zhangqijia
fix: roleID自增加上限制...
|
21
|
Sconf *common.SConf
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
22
23
24
25
26
27
|
}
func NewAccountServer(version string, port ...string) *AccountServer {
return &AccountServer{IHttp: components.NewHttpServer(version, port...)}
}
|
15864203
zhangqijia
feat: 增加短信接口
|
28
|
func (s *AccountServer) Init(sconf *common.SConf) error {
|
101d1cc1
zhangqijia
feat: 一个基于redis的自...
|
29
30
|
s.Sconf = sconf
|
765431a4
zhangqijia
增加schema接口, 抽象 mo...
|
31
|
//mgo init
|
a24dea4c
zhangqijia
fix: id自增做了写更新。阵容...
|
32
|
err := mongoproxy.ConnectMongo(sconf.MongoConf, sconf.ID)
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
33
|
|
15864203
zhangqijia
feat: 增加短信接口
|
34
35
|
//redis init
if err = redisproxy.ConnectRedis(sconf.RedisConf.DB, sconf.RedisConf.Auth, sconf.RedisConf.Address); err != nil {
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
36
37
|
return err
}
|
765431a4
zhangqijia
增加schema接口, 抽象 mo...
|
38
39
|
//Etcd 初始化
|
f415f471
zhangqijia
fix: roleID自增加上限制...
|
40
|
err = etcd.NewEtcdClient(common.GlobalConf.Etcd)
|
765431a4
zhangqijia
增加schema接口, 抽象 mo...
|
41
42
43
|
if err != nil {
return err
}
|
f415f471
zhangqijia
fix: roleID自增加上限制...
|
44
45
|
etcd.PutWithLeasePrefix(sconf.Name, fmt.Sprintf("%d", sconf.ID), fmt.Sprintf("%s:%d", sconf.IP, sconf.Port), 5)
|
101d1cc1
zhangqijia
feat: 一个基于redis的自...
|
46
47
|
models.NewDBSeed(sconf.ID).InitServerDatabase(models.AccountModels())
models.DBSeedS().InitAutoIncreUidTable(models.AccountModels())
|
77f5eec7
zhangqijia
plugin 插件热更 接口
|
48
49
50
|
return nil
}
|
101d1cc1
zhangqijia
feat: 一个基于redis的自...
|
51
52
53
54
55
56
|
func (s *AccountServer) TimeOut() {
models.DBSeedS().SaveAutoincrementTimer(models.AccountModels())
components.TimeOut(1*time.Second, s.TimeOut)
}
|
b3d79719
zhangqijia
fix: 返回值如果code=0则...
|
57
|
func (s *AccountServer) Start() error {
|
15864203
zhangqijia
feat: 增加短信接口
|
58
|
if err := s.Init(common.GlobalConf.AccountConf); err != nil {
|
77f5eec7
zhangqijia
plugin 插件热更 接口
|
59
60
|
return err
}
|
a24dea4c
zhangqijia
fix: id自增做了写更新。阵容...
|
61
62
|
//设置随机种子
rand.Seed(time.Now().Unix())
|
101d1cc1
zhangqijia
feat: 一个基于redis的自...
|
63
64
65
|
//开始定时器
s.TimeOut()
|
9a9d092e
zhangqijia
每条连接增加一个定时器,每条连接增...
|
66
|
return s.IHttp.Start()
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
67
68
|
}
|
f415f471
zhangqijia
fix: roleID自增加上限制...
|
69
70
71
72
73
|
func (s *AccountServer) Stop() {
s.IHttp.Stop()
etcd.CloseEtcd()
}
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
74
75
76
77
78
|
func main() {
err := make(chan error)
stopChan := make(chan os.Signal)
signal.Notify(stopChan, syscall.SIGTERM, syscall.SIGINT, syscall.SIGKILL)
|
f415f471
zhangqijia
fix: roleID自增加上限制...
|
79
80
81
|
common.GlobalSconf = common.GlobalConf.AccountConf
web := NewAccountServer("v1", fmt.Sprintf(":%d", common.GlobalSconf.Port))
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
82
|
web.BindHandler(&AccountAction{HttpServer: web})
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
83
84
85
86
87
|
go func() {
err <- web.Start()
}()
select {
|
b3d79719
zhangqijia
fix: 返回值如果code=0则...
|
88
89
|
case e := <-err:
logger.Error("http server error: %v", e)
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
90
|
case <-stopChan:
|
b3d79719
zhangqijia
fix: 返回值如果code=0则...
|
91
|
logger.Debug("http stop")
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
92
|
web.Stop()
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
93
|
}
|
b3d79719
zhangqijia
fix: 返回值如果code=0则...
|
94
|
}
|