-
Notifications
You must be signed in to change notification settings - Fork 13
/
gms.go
78 lines (66 loc) · 1.24 KB
/
gms.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package gms
import (
"log"
"github.com/gmsorg/gms/common"
"github.com/gmsorg/gms/gmsContext"
"github.com/gmsorg/gms/plugin"
"github.com/gmsorg/gms/server"
)
type gms struct {
server server.IServer
}
var defaultGms = newGms()
/*
初始化GMS
*/
func newGms() *gms {
gms := gms{
server: server.NewServer(),
}
return &gms
}
/**
添加服务路由
*/
func AddRouter(handlerName string, handlerFunc gmsContext.Controller) {
defaultGms.server.AddRouter(handlerName, handlerFunc)
}
/**
注册插件
*/
func AddPlugin(plugin plugin.IPlugin) {
defaultGms.server.AddPlugin(plugin)
}
/**
默认启动参数 host+1024
*/
// func DefaultRun() {
// // 展示Logo
// common.ShowLogo()
//
// hostName, err := os.Hostname()
// if err != nil {
// log.Fatalf("[DefaultRun] get hostName error: %v", err)
// }
// // 启动GMS服务
// defaultGms.server.Run(hostName, 1024)
// }
/*
启动GMS
*/
func Run(ip string, port int) {
// 校验IP是否正确
err := common.ValidateIp(ip)
if err != nil {
log.Fatalf("ip: %v error: %v", ip, err)
}
// 校验端口是否正确
err = common.ValidatePort(port)
if err != nil {
log.Fatalf("port: %v error: %v", port, err)
}
// 展示Logo
common.ShowLogo()
// 启动GMS服务
defaultGms.server.Run(ip, port)
}