From 205f934aec5fee5cb3d25c348bacc1789a2a7769 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Mon, 14 Oct 2024 09:52:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- srvlib/handler/serverserviceregiste.go | 3 --- srvlib/handler/serversessionregiste.go | 21 ++++++++++++---- srvlib/servicemgr.go | 33 +++++++++++++++----------- 3 files changed, 36 insertions(+), 21 deletions(-) diff --git a/srvlib/handler/serverserviceregiste.go b/srvlib/handler/serverserviceregiste.go index 111bdc7..72f66d7 100644 --- a/srvlib/handler/serverserviceregiste.go +++ b/srvlib/handler/serverserviceregiste.go @@ -1,7 +1,6 @@ package handler import ( - "mongo.games.com/goserver/core/logger" "mongo.games.com/goserver/core/netlib" "mongo.games.com/goserver/srvlib" ) @@ -30,7 +29,6 @@ func (this *SessionHandlerServiceRegiste) GetInterestOps() uint { func (this *SessionHandlerServiceRegiste) OnSessionOpened(s *netlib.Session) { sc := s.GetSessionConfig() if sc.IsClient { - logger.Logger.Trace("SessionHandlerServiceRegiste:OnSessionOpened ReportService->", sc.Name) /*报告自己的监听信息*/ srvlib.ServiceMgr.ReportService(s) } else { @@ -42,7 +40,6 @@ func (this *SessionHandlerServiceRegiste) OnSessionOpened(s *netlib.Session) { func (this *SessionHandlerServiceRegiste) OnSessionClosed(s *netlib.Session) { sc := s.GetSessionConfig() if !sc.IsClient { - logger.Logger.Warn("SessionHandlerServiceRegiste:OnSessionClosed ClearServiceBySession") srvlib.ServiceMgr.ClearServiceBySession(s) } } diff --git a/srvlib/handler/serversessionregiste.go b/srvlib/handler/serversessionregiste.go index 9de6460..f766167 100644 --- a/srvlib/handler/serversessionregiste.go +++ b/srvlib/handler/serversessionregiste.go @@ -25,19 +25,32 @@ func (sfl *SessionHandlerSrvRegiste) GetInterestOps() uint { } func (sfl *SessionHandlerSrvRegiste) OnSessionOpened(s *netlib.Session) { - registePacket := &protocol.SSSrvRegiste{ + registerPacket := &protocol.SSSrvRegiste{ Id: int32(netlib.Config.SrvInfo.Id), Type: int32(netlib.Config.SrvInfo.Type), AreaId: int32(netlib.Config.SrvInfo.AreaID), Name: netlib.Config.SrvInfo.Name, Data: netlib.Config.SrvInfo.Data, } - s.Send(int(protocol.SrvlibPacketID_PACKET_SS_REGISTE), registePacket) - logger.Logger.Tracef("SessionHandlerSrvRegiste.OnSessionOpened, send registe packet to %v", registePacket) + s.Send(int(protocol.SrvlibPacketID_PACKET_SS_REGISTE), registerPacket) + if s.GetSessionConfig().IsClient { + logger.Logger.Infof("目标服务器:%v 发送服务器信息(客户端):%v", s.GetSessionConfig().Name, registerPacket) + } else { + logger.Logger.Infof("发送服务器信息(服务端):%v", registerPacket) + } } func (sfl *SessionHandlerSrvRegiste) OnSessionClosed(s *netlib.Session) { - logger.Logger.Tracef("SessionHandlerSrvRegiste.OnSessionClosed") + if s.GetSessionConfig().IsClient { + logger.Logger.Infof("服务器 %v 断开连接", s.GetSessionConfig().Name) + } else { + d, ok := s.GetAttribute(srvlib.SessionAttributeServerInfo).(*protocol.SSSrvRegiste) + if ok { + logger.Logger.Infof("服务器断开连接:%v", d.GetName()) + } else { + logger.Logger.Infof("服务器断开连接") + } + } srvlib.ServerSessionMgrSington.UnregisteSession(s) } diff --git a/srvlib/servicemgr.go b/srvlib/servicemgr.go index 4abd93f..5784a6a 100644 --- a/srvlib/servicemgr.go +++ b/srvlib/servicemgr.go @@ -47,7 +47,7 @@ func (this *serviceMgr) RegisteService(s *netlib.Session, services []*protocol.S } if _, exist := this.servicesPool[srvtype][srvid]; !exist { this.servicesPool[srvtype][srvid] = service - logger.Logger.Infof("ServiceMgr RegisteService Name:%v Ip:%v Port:%v", service.GetSrvName(), service.GetIp(), service.GetPort()) + logger.Logger.Infof("服务注册:%v", service) pack := &protocol.SSServiceInfo{} pack.Service = service sessiontypes := GetCareSessionsByService(service.GetSrvType()) @@ -55,17 +55,19 @@ func (this *serviceMgr) RegisteService(s *netlib.Session, services []*protocol.S for _, v1 := range sessiontypes { // 地区和服务类型 ServerSessionMgrSington.Broadcast(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_INFO), pack, int(areaId), int(v1)) + logger.Logger.Infof("广播服务信息:%v ==> AreaId:%v ServerType:%v", service.GetSrvName(), areaId, v1) } - if len(this.listeners) != 0 { - for _, l := range this.listeners { - l.OnRegiste(services) - } - } + //if len(this.listeners) != 0 { + // for _, l := range this.listeners { + // l.OnRegiste(services) + // } + //} } } } +// UnregisteService 广播服务关闭 func (this *serviceMgr) UnregisteService(service *protocol.ServiceInfo) { if this == nil || service == nil { return @@ -76,24 +78,26 @@ func (this *serviceMgr) UnregisteService(service *protocol.ServiceInfo) { if v, has := this.servicesPool[srvtype]; has { if ss, exist := v[srvid]; exist && ss == service { delete(v, srvid) - logger.Logger.Infof("ServiceMgr UnregisteService srvType:%v srvId:%v", srvtype, srvid) + logger.Logger.Infof("服务关闭:%v", service) pack := &protocol.SSServiceShut{} pack.Service = service sessiontypes := GetCareSessionsByService(service.GetSrvType()) areaId := service.GetAreaId() for _, v1 := range sessiontypes { ServerSessionMgrSington.Broadcast(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_SHUT), pack, int(areaId), int(v1)) + logger.Logger.Infof("广播服务关闭:%v ==> AreaId:%v ServerType:%v", service.GetSrvName(), areaId, v1) } - if len(this.listeners) != 0 { - for _, l := range this.listeners { - l.OnUnregiste(service) - } - } + //if len(this.listeners) != 0 { + // for _, l := range this.listeners { + // l.OnUnregiste(service) + // } + //} } } } +// OnRegiste 服务器注册 func (this *serviceMgr) OnRegiste(s *netlib.Session) { if this == nil || s == nil { return @@ -102,7 +106,7 @@ func (this *serviceMgr) OnRegiste(s *netlib.Session) { if s.GetAttribute(SessionAttributeServiceFlag) == nil { return } - // 根据对方的服务信息找需要建立连接的其它服务,然后发送给对方,对方主动和其它服务建立连接 + // 查看已存在的服务信息列表找当前服务器需要建立连接的服务,然后建立连接 attr := s.GetAttribute(SessionAttributeServerInfo) if attr != nil { if srvInfo, ok := attr.(*protocol.SSSrvRegiste); ok && srvInfo != nil { @@ -113,8 +117,8 @@ func (this *serviceMgr) OnRegiste(s *netlib.Session) { func(si *protocol.ServiceInfo, sInfo *protocol.SSSrvRegiste) { pack := &protocol.SSServiceInfo{} pack.Service = si - logger.Logger.Info("serviceMgr.OnRegiste Server Type=", sInfo.GetType(), " Id=", sInfo.GetId(), " Name=", sInfo.GetName(), " careful => Service=", si) s.Send(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_INFO), pack) + logger.Logger.Infof("建立连接: client(%v)==>server(%v)", srvInfo.GetName(), si.GetSrvName()) }(v3, srvInfo) } } @@ -200,6 +204,7 @@ func (this *serviceMgr) ReportService(s *netlib.Session) { pack.Services = append(pack.Services, si) } s.Send(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_REGISTE), pack) + logger.Logger.Infof("目标服务器:%v 发送服务信息:%v", s.GetSessionConfig().Name, pack) } }