1
This commit is contained in:
parent
d3fde0949a
commit
d16e2b3e25
@ -27,14 +27,14 @@ func HandShake(a *Agent) {
|
||||
log.Debug("HandShake GobMarshal err %v", err)
|
||||
return
|
||||
}
|
||||
// log.Debug("握手 server id :%d", conf.Server.ServerID)
|
||||
log.Debug("握手 server id :%d", conf.Server.ServerID)
|
||||
a.WriteMsg(data)
|
||||
}
|
||||
|
||||
// 握手回调
|
||||
func HandShakeRecv(a *Agent, m *msg.Msg) error {
|
||||
ServerId := m.From
|
||||
// log.Debug("收到握手回复 ServerId %v", ServerId)
|
||||
log.Debug("收到握手回复 ServerId %v", ServerId)
|
||||
a.ServerId = ServerId
|
||||
serverAgent.Store(ServerId, a)
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import (
|
||||
"server/game/mod/friend"
|
||||
limitedTimeEvent "server/game/mod/limited_time_event"
|
||||
"server/game/mod/msg"
|
||||
"sync"
|
||||
)
|
||||
|
||||
type PlayerSimpleData struct {
|
||||
@ -49,6 +50,7 @@ type VarUserData struct {
|
||||
Upvote int
|
||||
Chip int
|
||||
Kiss int
|
||||
mu sync.Mutex
|
||||
}
|
||||
|
||||
type VarExpireData struct {
|
||||
|
||||
@ -75,6 +75,7 @@ func (m *MessageMgr) MessageMgrInit() {
|
||||
m.Use(TimeoutMiddleware(5 * time.Second))
|
||||
if conf.Server.ServerType == "center" {
|
||||
m.RegisterHandler(msg.HANDLE_MOD_PLAYER_LOGIN, MessageHandlerFunc(PlayerLoginHandler))
|
||||
m.RegisterHandler(msg.HANDLE_MDO_PLAYER_LOGOUT, MessageHandlerFunc(PlayerLogoutHandler))
|
||||
m.RegisterHandler(msg.HANDLE_MOD_PLAYER_MSG, MessageHandlerFunc(CenterPlayerMsgHandler))
|
||||
m.RegisterHandler(msg.HANDLE_MOD_COMSUME_MSG, MessageHandlerFunc(ComsumerMsgHandler))
|
||||
} else {
|
||||
@ -102,13 +103,35 @@ func PlayerLoginHandler(data *msg.Msg) (interface{}, error) {
|
||||
Messages: []*msg.Msg{},
|
||||
}
|
||||
}
|
||||
messageMgrData.PlayerList[int64(data.From)] = data.Extra.(int)
|
||||
log.Debug("[Middleware] Player login success player id: %v, node: %v", data.From, data.Extra.(int))
|
||||
node := data.Extra.(int)
|
||||
messageMgrData.PlayerList[int64(data.From)] = node
|
||||
|
||||
// 发送离线消息
|
||||
messages := messageMgrData.MessageList[int64(data.From)]
|
||||
messages.mu.Lock()
|
||||
defer messages.mu.Unlock()
|
||||
for _, message := range messages.Messages {
|
||||
err := SendMsgToNode(message, node)
|
||||
if err != nil {
|
||||
log.Error("Failed to send message to player %d: %v", data.From, err)
|
||||
}
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func PlayerLogoutHandler(data *msg.Msg) (interface{}, error) {
|
||||
messageMgrData := getData()
|
||||
messageMgrData.mu.Lock()
|
||||
defer messageMgrData.mu.Unlock()
|
||||
delete(messageMgrData.PlayerList, int64(data.From))
|
||||
log.Debug("[Middleware] Player logout success player id: %v", data.From)
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func ComsumerMsgHandler(data *msg.Msg) (interface{}, error) {
|
||||
messageMgrData := getData()
|
||||
Message, ok := messageMgrData.MessageList[int64(data.From)]
|
||||
Message, ok := messageMgrData.MessageList[int64(data.To)]
|
||||
if !ok {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
@ -24,6 +24,8 @@ const (
|
||||
HANDLE_MOD_CLUSTER_MSG = 20002 // 集群消息
|
||||
HANDLE_MOD_PLAYER_LOGIN = 20003 // 玩家登录消息
|
||||
HANDLE_MOD_COMSUME_MSG = 20004 // 消费消息
|
||||
HANDLE_MOD_CLUSTER_SYNC = 20005 // 集群同步消息
|
||||
HANDLE_MDO_PLAYER_LOGOUT = 20006 // 玩家登出消息
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
Loading…
Reference in New Issue
Block a user