重构
This commit is contained in:
82
router/router.go
Normal file
82
router/router.go
Normal file
@@ -0,0 +1,82 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"omc/conf"
|
||||
"omc/core/decoder"
|
||||
"omc/core/dpack"
|
||||
heartbeat "omc/core/heart_beat"
|
||||
"omc/core/interceptor"
|
||||
"omc/core/manage"
|
||||
"omc/handle/api"
|
||||
"time"
|
||||
|
||||
"github.com/aceld/zinx/zconf"
|
||||
"github.com/aceld/zinx/ziface"
|
||||
"github.com/aceld/zinx/znet"
|
||||
)
|
||||
|
||||
const (
|
||||
RealTimeAlarm = 0
|
||||
ReqLoginAlarm = 1
|
||||
AckLoginAlarm = 2
|
||||
ReqSyncAlarmMsg = 3
|
||||
AckSyncAlarmMsg = 4
|
||||
ReqSyncAlarmFile = 5
|
||||
AckSyncAlarmFile = 6
|
||||
AckSyncAlarmFileResult = 7
|
||||
ReqHeartBeat = 8
|
||||
AckHeartBeat = 9
|
||||
CloseConnAlarm = 10
|
||||
ReqCMCALoginAlarm = 11
|
||||
ReqCMCALoginSeq = 12
|
||||
AckCMCALoginSeq = 13
|
||||
)
|
||||
|
||||
func LoadServer(cg conf.Channel) ziface.IServer {
|
||||
serverName := fmt.Sprintf("%s:%d", cg.BindFlag, cg.TCPPort)
|
||||
|
||||
//new 一个TCP服务
|
||||
s := znet.NewUserConfServer(&zconf.Config{
|
||||
TCPPort: cg.TCPPort,
|
||||
Name: serverName,
|
||||
Host: "0.0.0.0",
|
||||
MaxConn: conf.OmcConf.MaxConn,
|
||||
WorkerPoolSize: uint32(conf.OmcConf.WorkerPoolSize),
|
||||
HeartbeatMax: conf.OmcConf.HeartbeatMax,
|
||||
LogDir: conf.OmcConf.LogDir,
|
||||
LogFile: conf.OmcConf.LogFile,
|
||||
})
|
||||
|
||||
//注册客户端连接建立和丢失函数
|
||||
s.SetOnConnStart(manage.OnConnectionAdd)
|
||||
s.SetOnConnStop(manage.OnConnectionLost)
|
||||
|
||||
//添加LTV数据格式Decoder
|
||||
s.SetDecoder(decoder.NewOmcDecoder())
|
||||
//添加LTV数据格式的Pack封包Encoder
|
||||
s.SetPacket(dpack.NewDataPack())
|
||||
|
||||
// (启动心跳检测)
|
||||
s.StartHeartBeatWithOption(60*time.Second, &ziface.HeartBeatOption{
|
||||
MakeMsg: heartbeat.MyHeartBeatMsg,
|
||||
OnRemoteNotAlive: heartbeat.MyOnRemoteNotAlive,
|
||||
Router: &api.ReqHeartBeat{},
|
||||
HeadBeatMsgID: api.ReqHeartBeatMsgID,
|
||||
})
|
||||
// 设置默认的心跳发送函数
|
||||
heart := s.GetHeartBeat()
|
||||
heart.SetHeartbeatFunc(heartbeat.MyHeartBeat)
|
||||
|
||||
// 添加自定义拦截器
|
||||
s.AddInterceptor(&interceptor.GlobalInterceptor{})
|
||||
|
||||
//注册路由 ================
|
||||
s.AddRouter(api.ReqLoginAlarmMsgID, &api.ReqLoginAlarm{})
|
||||
s.AddRouter(api.ReqCMCALoginSeqMsgID, &api.ReqCMCALoginSeq{})
|
||||
s.AddRouter(api.ReqCMCALoginAlarmMsgID, &api.ReqCMCALoginAlarm{})
|
||||
s.AddRouter(api.ReqSyncAlarmMsgID, &api.ReqSyncAlarmMsg{})
|
||||
s.AddRouter(api.CloseConnAlarmMsgID, &api.CloseConnAlarm{})
|
||||
|
||||
return s
|
||||
}
|
||||
Reference in New Issue
Block a user