From 7b18e9a8b632fae0913ab09c89468754df8291fa Mon Sep 17 00:00:00 2001 From: liuxiaobo <1224730913@qq.com> Date: Thu, 29 May 2025 20:23:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0client=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/client/server/service.go | 40 +++++++++++++++-------------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/test/client/server/service.go b/test/client/server/service.go index 85eb49a..033899b 100644 --- a/test/client/server/service.go +++ b/test/client/server/service.go @@ -4,37 +4,32 @@ import ( "fmt" "game/common/proto/pb" "game/test/client/config" - "github.com/fox/fox/ipb" "github.com/fox/fox/log" "github.com/fox/fox/processor" - "github.com/fox/fox/service" "github.com/fox/fox/ws" "github.com/golang/protobuf/proto" ) -var Chat []*ClientService +var Clients []*ClientService type ClientService struct { - *service.BaseService client *ws.Client processor *processor.Processor + userId int64 } func Init() { for i := 0; i < config.Command.ServiceNum; i++ { sid := config.Command.ServiceId + i if srv := newClientService(sid); srv != nil { - Chat = append(Chat, srv) + Clients = append(Clients, srv) } } } func Stop() { - for _, srv := range Chat { - srv.NotifyStop() - } - for _, srv := range Chat { - srv.WaitStop() + for _, s := range Clients { + s.client.Stop() } } @@ -42,8 +37,6 @@ func newClientService(serviceId int) *ClientService { var err error s := new(ClientService) - sName := fmt.Sprintf("%v-%d", "client", serviceId) - s.BaseService = service.NewBaseService("client", sName, s, s) size := len(config.Cfg.Special.Address) addr := config.Cfg.Special.Address[serviceId%size] if s.client, err = ws.NewClient(fmt.Sprintf("ws://%v", addr), s); err != nil { @@ -57,7 +50,6 @@ func newClientService(serviceId int) *ClientService { func (s *ClientService) OnInit() { s.client.Start() - s.BaseService.Run() log.Debug("onInit") } @@ -65,11 +57,6 @@ func (s *ClientService) CanStop() bool { return true } -func (s *ClientService) OnStop() { - s.client.Stop() - log.Debug("OnStop") -} - // 处理其它服发送过来的消息 func (s *ClientService) OnMessage(data []byte) error { var cMsg = &pb.ClientMsg{} @@ -86,13 +73,20 @@ func (s *ClientService) OnMessage(data []byte) error { } // 向内部服务发送消息 -func (s *ClientService) SendServiceData(topic string, userId int64, msgId int32, data []byte) { - iMsg := ipb.MakeMsg(s.Name(), 0, userId, msgId, data) - _ = s.Send(topic, iMsg) +func (s *ClientService) SendData(serviceTypeId pb.ServiceTypeId, msgId int32, data []byte) { + msg := &pb.ClientMsg{ + ServiceTid: serviceTypeId, + ServiceName: "", + UserId: s.userId, + MsgId: msgId, + Data: data, + } + d, _ := proto.Marshal(msg) + s.client.SendMsg(d) } // 向内部服务发送消息 -func (s *ClientService) SendServiceMsg(topic string, userId int64, msgId int32, msg proto.Message) { +func (s *ClientService) SendMsg(serviceTypeId pb.ServiceTypeId, msgId int32, msg proto.Message) { data, _ := proto.Marshal(msg) - s.SendServiceData(topic, userId, msgId, data) + s.SendData(serviceTypeId, msgId, data) }