mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-12 22:54:43 +08:00
优化网络
This commit is contained in:
@@ -10,7 +10,6 @@
|
||||
"ServiceList": [
|
||||
"HttpServerService",
|
||||
"SubNet1_Service",
|
||||
"SubNet1_Service1",
|
||||
"TcpSocketPbService"
|
||||
],
|
||||
"ClusterNode":["SubNet2.N_Node1","N_Node2"]
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ func (slf *TcpSocketClient) Connect(addr string) error{
|
||||
}
|
||||
slf.conn = conn
|
||||
|
||||
|
||||
//
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user