1
This commit is contained in:
parent
f664e95217
commit
37386f2001
@ -1,11 +1,10 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"cs"
|
|
||||||
"f5"
|
"f5"
|
||||||
"mt"
|
"mt"
|
||||||
"q5"
|
"q5"
|
||||||
"ss"
|
_ "main/initialize"
|
||||||
)
|
)
|
||||||
|
|
||||||
type App struct {
|
type App struct {
|
||||||
@ -22,22 +21,23 @@ func (this *App) Init() {
|
|||||||
this.registerDataSources()
|
this.registerDataSources()
|
||||||
|
|
||||||
handlerMgr.init()
|
handlerMgr.init()
|
||||||
playerMgr.init()
|
//playerMgr.init()
|
||||||
wspListener.init()
|
wspListener.init()
|
||||||
httpListener.init()
|
httpListener.init()
|
||||||
roomMgr.init()
|
//roomMgr.init()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *App) UnInit() {
|
func (this *App) UnInit() {
|
||||||
roomMgr.unInit()
|
//roomMgr.unInit()
|
||||||
httpListener.unInit()
|
httpListener.unInit()
|
||||||
playerMgr.unInit()
|
//playerMgr.unInit()
|
||||||
handlerMgr.unInit()
|
handlerMgr.unInit()
|
||||||
wspListener.unInit()
|
wspListener.unInit()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *App) Update() {
|
func (this *App) Update() {
|
||||||
this.netMsgQueue.Fetch()
|
this.netMsgQueue.Fetch()
|
||||||
|
/*
|
||||||
for !this.netMsgQueue.WorkList.Empty() {
|
for !this.netMsgQueue.WorkList.Empty() {
|
||||||
next := this.netMsgQueue.WorkList.Next()
|
next := this.netMsgQueue.WorkList.Next()
|
||||||
hdr, ok := next.GetData().(*f5.MsgHdr)
|
hdr, ok := next.GetData().(*f5.MsgHdr)
|
||||||
@ -66,7 +66,7 @@ func (this *App) Update() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
next.Del()
|
next.Del()
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *App) addNetMsg(hdr *f5.MsgHdr) {
|
func (this *App) addNetMsg(hdr *f5.MsgHdr) {
|
||||||
|
18
server/hallserver/common/types.go
Normal file
18
server/hallserver/common/types.go
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package common
|
||||||
|
|
||||||
|
type Module interface {
|
||||||
|
Init()
|
||||||
|
UnInit()
|
||||||
|
}
|
||||||
|
|
||||||
|
type Room interface {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
type RoomMgr interface {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
type PlayerMgr interface {
|
||||||
|
|
||||||
|
}
|
@ -2,7 +2,5 @@ package main
|
|||||||
|
|
||||||
var app = new(App)
|
var app = new(App)
|
||||||
var wspListener = new(WSPListener)
|
var wspListener = new(WSPListener)
|
||||||
var playerMgr = new(PlayerMgr)
|
|
||||||
var handlerMgr = new(HandlerMgr)
|
var handlerMgr = new(HandlerMgr)
|
||||||
var httpListener = new(HttpListener)
|
var httpListener = new(HttpListener)
|
||||||
var roomMgr = new(RoomMgr)
|
|
||||||
|
21
server/hallserver/global/global.go
Normal file
21
server/hallserver/global/global.go
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package global
|
||||||
|
|
||||||
|
import (
|
||||||
|
"main/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetRoomMgr() common.RoomMgr {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetRoomMgr(mgr common.RoomMgr) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetPlayerMgr() common.PlayerMgr {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetPlayerMgr(mgr common.PlayerMgr) {
|
||||||
|
|
||||||
|
}
|
@ -10,6 +10,8 @@ require mt v1.0.0
|
|||||||
|
|
||||||
require mtb v1.0.0 // indirect
|
require mtb v1.0.0 // indirect
|
||||||
|
|
||||||
|
require main v1.0.0 // indirect
|
||||||
|
|
||||||
require cs v1.0.0
|
require cs v1.0.0
|
||||||
require ss v1.0.0
|
require ss v1.0.0
|
||||||
|
|
||||||
@ -32,3 +34,5 @@ replace mtb => ./mtb
|
|||||||
replace cs => ./cs
|
replace cs => ./cs
|
||||||
|
|
||||||
replace ss => ./ss
|
replace ss => ./ss
|
||||||
|
|
||||||
|
replace main => ./
|
12
server/hallserver/initialize/enter.go
Normal file
12
server/hallserver/initialize/enter.go
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
package initialize
|
||||||
|
|
||||||
|
import (
|
||||||
|
"main/global"
|
||||||
|
"main/room"
|
||||||
|
"main/player"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
global.SetRoomMgr(room.GetRoomMgr())
|
||||||
|
global.SetPlayerMgr(player.GetPlayerMgr())
|
||||||
|
}
|
10
server/hallserver/player/export.go
Normal file
10
server/hallserver/player/export.go
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
package player
|
||||||
|
|
||||||
|
var _playerMgr *playerMgr
|
||||||
|
|
||||||
|
func GetPlayerMgr() *playerMgr {
|
||||||
|
if (_playerMgr == nil) {
|
||||||
|
_playerMgr = new(playerMgr)
|
||||||
|
}
|
||||||
|
return _playerMgr
|
||||||
|
}
|
@ -1,9 +1,10 @@
|
|||||||
package main
|
package player
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"cs"
|
"cs"
|
||||||
"f5"
|
"f5"
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
|
. "main/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Player struct {
|
type Player struct {
|
||||||
@ -19,7 +20,7 @@ func (this *Player) GetAccountId() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *Player) SendMsg(rspMsg proto.Message) {
|
func (this *Player) SendMsg(rspMsg proto.Message) {
|
||||||
wspListener.sendProxyMsg(this.socket.Conn, this.socket.SocketHandle, rspMsg)
|
//wspListener.sendProxyMsg(this.socket.Conn, this.socket.SocketHandle, rspMsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Player) GetRoom() *Room {
|
func (this *Player) GetRoom() *Room {
|
@ -1,4 +1,4 @@
|
|||||||
package main
|
package player
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"cs"
|
"cs"
|
||||||
@ -9,13 +9,13 @@ import (
|
|||||||
"q5"
|
"q5"
|
||||||
)
|
)
|
||||||
|
|
||||||
type PlayerMgr struct {
|
type playerMgr struct {
|
||||||
cs.MsgHandlerImpl
|
cs.MsgHandlerImpl
|
||||||
accountIdHash map[string]*Player
|
accountIdHash map[string]*Player
|
||||||
socketHash map[f5.WspCliConn]*Player
|
socketHash map[f5.WspCliConn]*Player
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *PlayerMgr) init() {
|
func (this *playerMgr) Init() {
|
||||||
this.accountIdHash = make(map[string]*Player)
|
this.accountIdHash = make(map[string]*Player)
|
||||||
this.socketHash = make(map[f5.WspCliConn]*Player)
|
this.socketHash = make(map[f5.WspCliConn]*Player)
|
||||||
|
|
||||||
@ -32,10 +32,10 @@ func (this *PlayerMgr) init() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *PlayerMgr) unInit() {
|
func (this *playerMgr) UnInit() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *PlayerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {
|
func (this *playerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {
|
||||||
params := map[string]string{
|
params := map[string]string{
|
||||||
"c": "User",
|
"c": "User",
|
||||||
"a": "info",
|
"a": "info",
|
||||||
@ -52,7 +52,7 @@ func (this *PlayerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *PlayerMgr) CMLoginResult(hdr *f5.MsgHdr, msg *cs.CMLogin, rsp f5.HttpCliResponse) {
|
func (this *playerMgr) CMLoginResult(hdr *f5.MsgHdr, msg *cs.CMLogin, rsp f5.HttpCliResponse) {
|
||||||
resObj := struct {
|
resObj := struct {
|
||||||
Errcode int `json:"errcode"`
|
Errcode int `json:"errcode"`
|
||||||
Errmsg string `json:"errmsg"`
|
Errmsg string `json:"errmsg"`
|
||||||
@ -86,10 +86,10 @@ func (this *PlayerMgr) CMLoginResult(hdr *f5.MsgHdr, msg *cs.CMLogin, rsp f5.Htt
|
|||||||
rspMsg := &cs.SMLogin{}
|
rspMsg := &cs.SMLogin{}
|
||||||
rspMsg.ServerInfo = &serverInfo
|
rspMsg.ServerInfo = &serverInfo
|
||||||
rspMsg.AccountId = &resObj.Info.AccountID
|
rspMsg.AccountId = &resObj.Info.AccountID
|
||||||
wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
|
//wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *PlayerMgr) reportServerState(masterIp string, masterPort int32) {
|
func (this *playerMgr) reportServerState(masterIp string, masterPort int32) {
|
||||||
params := map[string]string{
|
params := map[string]string{
|
||||||
"node_id": q5.ToString(f5.GetApp().GetNodeId()),
|
"node_id": q5.ToString(f5.GetApp().GetNodeId()),
|
||||||
"instance_id": q5.ToString(f5.GetApp().GetInstanceId()),
|
"instance_id": q5.ToString(f5.GetApp().GetInstanceId()),
|
||||||
@ -109,15 +109,15 @@ func (this *PlayerMgr) reportServerState(masterIp string, masterPort int32) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *PlayerMgr) GetPlayers() map[string]*Player {
|
func (this *playerMgr) GetPlayers() map[string]*Player {
|
||||||
return this.accountIdHash
|
return this.accountIdHash
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *PlayerMgr) addPlayer(p *Player) {
|
func (this *playerMgr) addPlayer(p *Player) {
|
||||||
this.accountIdHash[p.accountId] = p
|
this.accountIdHash[p.accountId] = p
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *PlayerMgr) getPlayerByAccountId(accountId string) *Player {
|
func (this *playerMgr) getPlayerByAccountId(accountId string) *Player {
|
||||||
player, ok := this.accountIdHash[accountId]
|
player, ok := this.accountIdHash[accountId]
|
||||||
if ok {
|
if ok {
|
||||||
return player
|
return player
|
||||||
@ -125,7 +125,7 @@ func (this *PlayerMgr) getPlayerByAccountId(accountId string) *Player {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *PlayerMgr) getPlayerBySocket(socket f5.WspCliConn) *Player {
|
func (this *playerMgr) getPlayerBySocket(socket f5.WspCliConn) *Player {
|
||||||
player, ok := this.socketHash[socket]
|
player, ok := this.socketHash[socket]
|
||||||
if ok {
|
if ok {
|
||||||
return player
|
return player
|
||||||
@ -133,6 +133,6 @@ func (this *PlayerMgr) getPlayerBySocket(socket f5.WspCliConn) *Player {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *PlayerMgr) addSocketHash(wsp f5.WspCliConn, p *Player) {
|
func (this *playerMgr) addSocketHash(wsp f5.WspCliConn, p *Player) {
|
||||||
this.socketHash[wsp] = p
|
this.socketHash[wsp] = p
|
||||||
}
|
}
|
10
server/hallserver/room/export.go
Normal file
10
server/hallserver/room/export.go
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
package room
|
||||||
|
|
||||||
|
var _roomMgr *roomMgr
|
||||||
|
|
||||||
|
func GetRoomMgr() *roomMgr {
|
||||||
|
if (_roomMgr == nil) {
|
||||||
|
_roomMgr = new(roomMgr)
|
||||||
|
}
|
||||||
|
return _roomMgr
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package main
|
package room
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"cs"
|
"cs"
|
||||||
|
@ -4,16 +4,16 @@ import (
|
|||||||
"cs"
|
"cs"
|
||||||
)
|
)
|
||||||
|
|
||||||
type RoomMgr struct {
|
type roomMgr struct {
|
||||||
cs.MsgHandlerImpl
|
cs.MsgHandlerImpl
|
||||||
currRoomId int32
|
currRoomId int32
|
||||||
idHash map[int32]*Room
|
idHash map[int32]*Room
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *RoomMgr) init() {
|
func (this *roomMgr) Init() {
|
||||||
this.idHash = make(map[int32]*Room)
|
this.idHash = make(map[int32]*Room)
|
||||||
this.currRoomId = 10000
|
this.currRoomId = 10000
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *RoomMgr) unInit() {
|
func (this *roomMgr) UnInit() {
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user