From 37386f2001b45135bd364b64840fa9f3ee2e6ef2 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 7 Sep 2023 11:42:02 +0800 Subject: [PATCH] 1 --- server/hallserver/app.go | 14 +++++------ server/hallserver/common/types.go | 18 ++++++++++++++ server/hallserver/export.go | 2 -- server/hallserver/global/global.go | 21 +++++++++++++++++ server/hallserver/go.mod | 4 ++++ server/hallserver/initialize/enter.go | 12 ++++++++++ server/hallserver/player/export.go | 10 ++++++++ server/hallserver/{ => player}/player.go | 5 ++-- server/hallserver/{ => player}/playermgr.go | 26 ++++++++++----------- server/hallserver/room/export.go | 10 ++++++++ server/hallserver/room/room.go | 2 +- server/hallserver/room/roommgr.go | 6 ++--- 12 files changed, 102 insertions(+), 28 deletions(-) create mode 100644 server/hallserver/common/types.go create mode 100644 server/hallserver/global/global.go create mode 100644 server/hallserver/initialize/enter.go create mode 100644 server/hallserver/player/export.go rename server/hallserver/{ => player}/player.go (76%) rename server/hallserver/{ => player}/playermgr.go (81%) create mode 100644 server/hallserver/room/export.go diff --git a/server/hallserver/app.go b/server/hallserver/app.go index 86d499e0..840db8af 100644 --- a/server/hallserver/app.go +++ b/server/hallserver/app.go @@ -1,11 +1,10 @@ package main import ( - "cs" "f5" "mt" "q5" - "ss" + _ "main/initialize" ) type App struct { @@ -22,22 +21,23 @@ func (this *App) Init() { this.registerDataSources() handlerMgr.init() - playerMgr.init() + //playerMgr.init() wspListener.init() httpListener.init() - roomMgr.init() + //roomMgr.init() } func (this *App) UnInit() { - roomMgr.unInit() + //roomMgr.unInit() httpListener.unInit() - playerMgr.unInit() + //playerMgr.unInit() handlerMgr.unInit() wspListener.unInit() } func (this *App) Update() { this.netMsgQueue.Fetch() + /* for !this.netMsgQueue.WorkList.Empty() { next := this.netMsgQueue.WorkList.Next() hdr, ok := next.GetData().(*f5.MsgHdr) @@ -66,7 +66,7 @@ func (this *App) Update() { } } next.Del() - } + }*/ } func (this *App) addNetMsg(hdr *f5.MsgHdr) { diff --git a/server/hallserver/common/types.go b/server/hallserver/common/types.go new file mode 100644 index 00000000..1ff8eb52 --- /dev/null +++ b/server/hallserver/common/types.go @@ -0,0 +1,18 @@ +package common + +type Module interface { + Init() + UnInit() +} + +type Room interface { + +} + +type RoomMgr interface { + +} + +type PlayerMgr interface { + +} diff --git a/server/hallserver/export.go b/server/hallserver/export.go index 16530aa1..0b508f54 100644 --- a/server/hallserver/export.go +++ b/server/hallserver/export.go @@ -2,7 +2,5 @@ package main var app = new(App) var wspListener = new(WSPListener) -var playerMgr = new(PlayerMgr) var handlerMgr = new(HandlerMgr) var httpListener = new(HttpListener) -var roomMgr = new(RoomMgr) diff --git a/server/hallserver/global/global.go b/server/hallserver/global/global.go new file mode 100644 index 00000000..36765734 --- /dev/null +++ b/server/hallserver/global/global.go @@ -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) { + +} diff --git a/server/hallserver/go.mod b/server/hallserver/go.mod index beab06a2..5ac06668 100644 --- a/server/hallserver/go.mod +++ b/server/hallserver/go.mod @@ -10,6 +10,8 @@ require mt v1.0.0 require mtb v1.0.0 // indirect +require main v1.0.0 // indirect + require cs v1.0.0 require ss v1.0.0 @@ -32,3 +34,5 @@ replace mtb => ./mtb replace cs => ./cs replace ss => ./ss + +replace main => ./ \ No newline at end of file diff --git a/server/hallserver/initialize/enter.go b/server/hallserver/initialize/enter.go new file mode 100644 index 00000000..0589d82a --- /dev/null +++ b/server/hallserver/initialize/enter.go @@ -0,0 +1,12 @@ +package initialize + +import ( + "main/global" + "main/room" + "main/player" +) + +func init() { + global.SetRoomMgr(room.GetRoomMgr()) + global.SetPlayerMgr(player.GetPlayerMgr()) +} diff --git a/server/hallserver/player/export.go b/server/hallserver/player/export.go new file mode 100644 index 00000000..f59c7fe8 --- /dev/null +++ b/server/hallserver/player/export.go @@ -0,0 +1,10 @@ +package player + +var _playerMgr *playerMgr + +func GetPlayerMgr() *playerMgr { + if (_playerMgr == nil) { + _playerMgr = new(playerMgr) + } + return _playerMgr +} diff --git a/server/hallserver/player.go b/server/hallserver/player/player.go similarity index 76% rename from server/hallserver/player.go rename to server/hallserver/player/player.go index b7cbd77f..76d6b3d7 100644 --- a/server/hallserver/player.go +++ b/server/hallserver/player/player.go @@ -1,9 +1,10 @@ -package main +package player import ( "cs" "f5" "github.com/golang/protobuf/proto" + . "main/common" ) type Player struct { @@ -19,7 +20,7 @@ func (this *Player) GetAccountId() string { } 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 { diff --git a/server/hallserver/playermgr.go b/server/hallserver/player/playermgr.go similarity index 81% rename from server/hallserver/playermgr.go rename to server/hallserver/player/playermgr.go index 7923858e..dce64464 100644 --- a/server/hallserver/playermgr.go +++ b/server/hallserver/player/playermgr.go @@ -1,4 +1,4 @@ -package main +package player import ( "cs" @@ -9,13 +9,13 @@ import ( "q5" ) -type PlayerMgr struct { +type playerMgr struct { cs.MsgHandlerImpl accountIdHash map[string]*Player socketHash map[f5.WspCliConn]*Player } -func (this *PlayerMgr) init() { +func (this *playerMgr) Init() { this.accountIdHash = make(map[string]*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{ "c": "User", "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 { Errcode int `json:"errcode"` 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.ServerInfo = &serverInfo 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{ "node_id": q5.ToString(f5.GetApp().GetNodeId()), "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 } -func (this *PlayerMgr) addPlayer(p *Player) { +func (this *playerMgr) addPlayer(p *Player) { this.accountIdHash[p.accountId] = p } -func (this *PlayerMgr) getPlayerByAccountId(accountId string) *Player { +func (this *playerMgr) getPlayerByAccountId(accountId string) *Player { player, ok := this.accountIdHash[accountId] if ok { return player @@ -125,7 +125,7 @@ func (this *PlayerMgr) getPlayerByAccountId(accountId string) *Player { return nil } -func (this *PlayerMgr) getPlayerBySocket(socket f5.WspCliConn) *Player { +func (this *playerMgr) getPlayerBySocket(socket f5.WspCliConn) *Player { player, ok := this.socketHash[socket] if ok { return player @@ -133,6 +133,6 @@ func (this *PlayerMgr) getPlayerBySocket(socket f5.WspCliConn) *Player { return nil } -func (this *PlayerMgr) addSocketHash(wsp f5.WspCliConn, p *Player) { +func (this *playerMgr) addSocketHash(wsp f5.WspCliConn, p *Player) { this.socketHash[wsp] = p } diff --git a/server/hallserver/room/export.go b/server/hallserver/room/export.go new file mode 100644 index 00000000..6997256a --- /dev/null +++ b/server/hallserver/room/export.go @@ -0,0 +1,10 @@ +package room + +var _roomMgr *roomMgr + +func GetRoomMgr() *roomMgr { + if (_roomMgr == nil) { + _roomMgr = new(roomMgr) + } + return _roomMgr +} diff --git a/server/hallserver/room/room.go b/server/hallserver/room/room.go index 50d21d19..a022a976 100644 --- a/server/hallserver/room/room.go +++ b/server/hallserver/room/room.go @@ -1,4 +1,4 @@ -package main +package room import ( "cs" diff --git a/server/hallserver/room/roommgr.go b/server/hallserver/room/roommgr.go index 03141fa8..d87d2ca9 100644 --- a/server/hallserver/room/roommgr.go +++ b/server/hallserver/room/roommgr.go @@ -4,16 +4,16 @@ import ( "cs" ) -type RoomMgr struct { +type roomMgr struct { cs.MsgHandlerImpl currRoomId int32 idHash map[int32]*Room } -func (this *RoomMgr) init() { +func (this *roomMgr) Init() { this.idHash = make(map[int32]*Room) this.currRoomId = 10000 } -func (this *RoomMgr) unInit() { +func (this *roomMgr) UnInit() { }