From 8b909c4194767ec00039ba0d1e87d923d2c6c02e Mon Sep 17 00:00:00 2001 From: duanhf2012 Date: Mon, 3 Feb 2020 11:16:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BD=91=E7=BB=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Test/config/cluster.json | 1 - Test/logicservice/SubNet1_Service.go | 31 +++++++++++++--------------- network/tcpsocketclient.go | 1 + network/tcpsocketserver.go | 15 ++++++++++++++ 4 files changed, 30 insertions(+), 18 deletions(-) diff --git a/Test/config/cluster.json b/Test/config/cluster.json index 4dc1a88..cce0306 100644 --- a/Test/config/cluster.json +++ b/Test/config/cluster.json @@ -10,7 +10,6 @@ "ServiceList": [ "HttpServerService", "SubNet1_Service", - "SubNet1_Service1", "TcpSocketPbService" ], "ClusterNode":["SubNet2.N_Node1","N_Node2"] diff --git a/Test/logicservice/SubNet1_Service.go b/Test/logicservice/SubNet1_Service.go index dc2887f..465395b 100644 --- a/Test/logicservice/SubNet1_Service.go +++ b/Test/logicservice/SubNet1_Service.go @@ -10,7 +10,6 @@ import ( "github.com/duanhf2012/origin/originnode" "github.com/duanhf2012/origin/service" - ) type SubNet1_Service struct { @@ -26,40 +25,38 @@ func (ws *SubNet1_Service) OnInit() error { sysservice.DefaultTSPbService().RegConnectEvent(ws.ConnEventHandler) sysservice.DefaultTSPbService().RegDisconnectEvent(ws.DisconnEventHandler) sysservice.DefaultTSPbService().RegExceptMessage(ws.ExceptMessage) - sysservice.DefaultTSPbService().RegMessage(110,&msgpb.Test{},ws.MessageHandler) + sysservice.DefaultTSPbService().RegMessage(110, &msgpb.Test{}, ws.MessageHandler) return nil } - //OnRun ... func (ws *SubNet1_Service) OnRun() bool { - - time.Sleep(time.Second*10) + time.Sleep(time.Second * 10) var cli network.TcpSocketClient cli.Connect("127.0.0.1:9004") test := msgpb.Test{} test.AssistCount = proto.Int32(343) - - - cli.SendMsg(110,&test) - cli.SendMsg(110,&test) + cli.SendMsg(110, &test) + cli.SendMsg(110, &test) return false } - - func (ws *SubNet1_Service) MessageHandler(pClient *network.SClient,msgtype uint16,msg proto.Message){ - fmt.Print(pClient.GetId(),"\n",msg) - } - -func (ws *SubNet1_Service) ConnEventHandler (pClient *network.SClient){ +func (ws *SubNet1_Service) MessageHandler(pClient *network.SClient, msgtype uint16, msg proto.Message) { + fmt.Print("recv:",pClient.GetId(), ":", msg,"\n") + pClient.SendMsg(msgtype,msg) } -func (ws *SubNet1_Service) DisconnEventHandler (pClient *network.SClient){ +func (ws *SubNet1_Service) ConnEventHandler(pClient *network.SClient) { + fmt.Print("connected..",pClient.GetId(),"\n") } -func (ws *SubNet1_Service) ExceptMessage(pClient *network.SClient,pPack *network.MsgBasePack,err error){ +func (ws *SubNet1_Service) DisconnEventHandler(pClient *network.SClient) { + fmt.Print("disconnected..",pClient.GetId(),"\n") } +func (ws *SubNet1_Service) ExceptMessage(pClient *network.SClient, pPack *network.MsgBasePack, err error) { + fmt.Print("except..",pClient.GetId(),",",pPack,"\n") +} diff --git a/network/tcpsocketclient.go b/network/tcpsocketclient.go index 2b13bb5..d946b45 100644 --- a/network/tcpsocketclient.go +++ b/network/tcpsocketclient.go @@ -23,6 +23,7 @@ func (slf *TcpSocketClient) Connect(addr string) error{ } slf.conn = conn + // return nil } diff --git a/network/tcpsocketserver.go b/network/tcpsocketserver.go index e523307..f1357a0 100644 --- a/network/tcpsocketserver.go +++ b/network/tcpsocketserver.go @@ -5,6 +5,7 @@ import ( "encoding/binary" "github.com/duanhf2012/origin/util" "github.com/duanhf2012/origin/service" + "github.com/golang/protobuf/proto" "io" "net" "unsafe" @@ -210,6 +211,20 @@ func (slf *SClient) Send(pack *MsgBasePack){ slf.sendPack.Push(pack) } + +func (slf *SClient) SendMsg(packtype uint16,message proto.Message) error{ + var msg MsgBasePack + data,err := proto.Marshal(message) + if err != nil { + return err + } + + msg.Make(packtype,data) + slf.sendPack.Push(&msg) + + return nil +} + func (slf *SClient) onsend(){ for { pack := slf.sendPack.Pop()